Konvertieren von Excel-Spaltennummern in alphabetische Zeichen

Einführung

In diesem Artikel wird erläutert, wie Sie die Vba-Funktion (Microsoft Visual Basic for Applications) in Microsoft Excel verwenden, um Spaltennummern in den entsprechenden alphabetischen Zeichenbezeichner für dieselbe Spalte zu konvertieren.

Beispielsweise wird die Spaltennummer 30 in die entsprechenden alphabetischen Zeichen "AD" konvertiert.

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.

Die ConvertToLetter-Funktion verwendet den folgenden Algorithmus:

  1. Lassen Sie uns iCol die Spaltennummer sein. Beenden, wenn iCol kleiner als 1 ist.
  2. Berechnen Sie den Quotienten und rest nach Division von (iCol - 1) durch 26, und speichern Sie in Variablen a und b.
  3. Konvertieren Sie den ganzzahligen Wert von b in das entsprechende alphabetische Zeichen (0 => A, 25 => Z), und heften Sie ihn am Anfang der Ergebniszeichenfolge an.
  4. Legen Sie auf den Divisor a und die Schleife festiCol.

Beispiel: Die Spaltennummer ist 30.

  • (Schleife 1, Schritt 1) Die Spaltennummer ist mindestens 1. Fahren Sie fort.

  • (Schleife 1, Schritt 2) Die Spalte nummer weniger 1 wird durch 26 dividiert:

    29 / 26 = 1 Rest 3. a = 1, b = 3

  • (Schleife 1, Schritt 3) Tack auf den (b+1) Buchstaben des Alphabets:

    3 + 1 = 4, vierter Buchstabe ist "D". Result = "D"

  • (Schleife 1, Schritt 4) Zurück zu Schritt 1 mitiCol = a

    iCol = 1

  • (Schleife 2, Schritt 1) Die Spaltennummer ist mindestens 1. Fahren Sie fort.

  • (Schleife 2, Schritt 2) Die Spalte nummer weniger 1 wird durch 26 dividiert:

    0 / 26 = 0 Rest 0. a = 0, b = 0

  • (Schleife 2, Schritt 3) Tack auf den b+1 Buchstaben des Alphabets:

    0 + 1 = 1, erster Buchstabe ist "A" Ergebnis = "AD"

  • (Schleife 2, Schritt 4) Zurück zu Schritt 1 mitiCol = a

    iCol = 0

  • (Schleife 3, Schritt 1) Die Spaltennummer ist kleiner als 1, stop.

Die folgende VBA-Funktion ist nur eine Möglichkeit, Spaltennummernwerte in die entsprechenden alphabetischen Zeichen zu konvertieren:

Function ConvertToLetter(iCol As Long) As String
   Dim a As Long
   Dim b As Long
   a = iCol
   ConvertToLetter = ""
   Do While iCol > 0
      a = Int((iCol - 1) / 26)
      b = (iCol - 1) Mod 26
      ConvertToLetter = Chr(b + 65) & ConvertToLetter
      iCol = a
   Loop
End Function

Hinweis Diese Funktion konvertiert nur ganze Zahlen, die an sie übergeben werden, in ihr entsprechendes alphanumerisches Textzeichen. Die Darstellung der Spalte oder der Zeilenüberschriften auf dem physischen Arbeitsblatt wird dadurch nicht geändert.