Wie konvertiert Excel Spaltennummern in alphabetische Zeichen

Gilt für: Microsoft Office Excel 2007

Einführung


Dieser Artikel beschreibt, wie mit Microsoft Visual Basic for Applications (VBA)-Funktion in Microsoft Excel Nummern in ihre entsprechenden Buchstaben Kennzeichner für dieselbe Spalte konvertiert.

Beispielsweise wird die Nummer der Spalte 30 in entsprechenden Buchstaben "AD" konvertiert.

Weitere Informationen


Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.
ConvertToLetter funktioniert mit den folgenden Algorithmus:
  1. Unterteilen Sie die Spaltennummer 27, und dann die resultierende ganze Zahl in der Variable "i".
  2. Subtrahiert die Spalte Anzahl von "i" 26 multipliziert, und legen Sie das Ergebnis in der Variablen "j".
  3. Konvertieren die ganzzahligen Werte in ihre entsprechenden Buchstaben "i" und "j" liegt im Bereich von 0 bis 26 bzw.;
Beispiel: die Spaltennummer ist 30.
  1. Die Nummer der Spalte geteilt durch 27:30 / 27 = 1.1111 von Int -Funktion "1" abgerundet.
    i = 1
  2. Nächste Spaltennummer - (i * 26) = 30-(1 * 26) = 30 - 26 = 4.

    j = 4
  3. Alphabetische Zeichen konvertieren Sie getrennt die Werte,

    i = 1 = "A"
    j = 4 = "D"
  4. Kombiniert, bilden diese Spalte Designator "AD".
Die folgende VBA-Funktion ist nur eine Möglichkeit Zahl Spaltenwerte in ihre entsprechenden alphabetischen Zeichen konvertiert:
Function ConvertToLetter(iCol As Integer) As String
Dim iAlpha As Integer
Dim iRemainder As Integer
iAlpha = Int(iCol / 27)
iRemainder = iCol - (iAlpha * 26)
If iAlpha > 0 Then
ConvertToLetter = Chr(iAlpha + 64)
End If
If iRemainder > 0 Then
ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
End If
End Function
Hinweis Diese Funktion konvertiert nur Ganzzahlen, deren entsprechende alphanumerische Zeichen übergeben werden. Die Darstellung der Spalte oder die Zeilenüberschriften physischen Arbeitsblatt wird nicht geändert.