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:
- Lassen Sie uns
iCol
die Spaltennummer sein. Beenden, wenniCol
kleiner als 1 ist. - Berechnen Sie den Quotienten und rest nach Division von
(iCol - 1)
durch 26, und speichern Sie in Variablena
undb
. - 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. - 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 mit
iCol = 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 mit
iCol = 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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für