Spaltenbuchstabe oder Spaltennummer ermitteln

In manchen Situationen kann es sinnvoll oder notwendig sein, dass aus einer Spaltennummer der Spaltenbuchstabe ermittelt wird oder dass umgekehrt aus einem Spaltenbuchstaben die Spaltennummer ermittelt wird. In diesem Beispiel zeigen wir Ihnen, wie sich dem Spaltenbuchstaben F die Spaltennummer 6 und umgekehrt aus Spaltennummer 12 der Buchstabe L ableiten lässt.

1. Ermittlung des Spaltenbuchstaben aus der Spaltennummer

In diesem Beispiel wird die Spaltennummer in Zelle C7 eingegeben und der ermittelte Spaltenbuchstabe wird in Zelle E7 ausgegeben, siehe Abbildung 1.


Abbildung 1

Um den Spaltenbuchstaben aus der Spaltennummer auszulesen kann folgendes VBA-Makro verwendet werden.

Sub Spaltenbuchstabe_aus_Spaltennmmer_ermitteln()

'** Dimensionierung der Variablen
Dim lngSp As Long
Dim strAdr As String
Dim lngCnt As Long
Dim strErg As String

'** Erfasste Spaltennummer
lngSp = ActiveSheet.Range("C7").Value

'** Aus Spaltennummer ermittelte Adresse
strAdr = ActiveSheet.Cells(1, lngSp).Address

'** Ermittlung des zweiten $-Zeichens in der Zelladresse
lngCnt = InStr(2, strAdr, "$") - 1

'** Extrahieren der Spalten-Buchstaben aus Zelladresse
strErg = WorksheetFunction.Substitute(Left(strAdr, Len(strAdr) - (Len(strAdr) - lngCnt)), "$", "")

'** Ausgabe der reinen Spaltenbuchstaben
ActiveSheet.Range("E7").Value = strErg

End Sub

2. Ermittlung der Spaltennummer aus dem Spaltenbuchstaben

Der umgekehrte Fall funktioniert im Prinzip genauso. Der in Spalte C17 erfasste Spaltenbuchstabe wird in die entsprechende Spaltennummer umgewandelt und in Zelle E17 ausgegeben, siehe Abbildung 2.


Abbildung 2

Verwenden Sie dazu das folgende Makro.

Sub Spaltennummer_aus_Spaltenbuchstabe_ermitteln()

'** Dimensionierung der Variablen
Dim strSp As String
Dim strAdr As String
Dim lngCnt As Long

'** Erfasster Spaltenbuchstabe
strSp = ActiveSheet.Range("C17").Value

'** Aus Spaltenbuchstabe ermittelte Adresse
strAdr = ActiveSheet.Range(strSp & "1").Address

'** Extrahieren der Spalten-Nummer aus Zelladresse
strErg = Range(strAdr).Column

'** Ausgabe der reinen Spaltenbuchstaben
ActiveSheet.Range("E17").Value = strErg

End Sub

Mit diesen beiden VBA-Codes lassen sich Buchstaben und Nummern beliebig umwandeln. Die Beispieldatei können Sie über den unten stehenden Link herunterladen.

Mit einem ähnlichen Ansatz kann per VBA-Funktion die Spaltennummer der aktuellen Spalte ausgelesen und in eine Zelle geschrieben werden.

Partnerlinks

Relevante Artikel

  • Zugriff auf Daten über VBA und Bereichsnamen

    Wenn für einen Zellbereich ein Bereichsname vergeben wurde, kann auf diesen über VBA zugegriffen, also gelesen und...

  • Grafiken (Bilder) über eine Wenn-Abfrage einfügen

    Das folgende Makro fügt abhängig vom Inhalt der Zelle A1 eine Grafik ab der Zelle D1 ein. Steht in A1 die Ziffer 1, so...

  • Zeilen abhängig von einer bestimmten Bedingung löschen

    Bedingte Zeilenlöschung Mit diesem Makro können sie Zeilen abhängig von einer Bedingung löschen. Die Bedingung in diesem...

  • Zeilen (Einträge) abhängig vom Datum löschen

    Aus diesem Datenbestand sollen die Zeilen gelöscht werden, deren Datum in Spalte A im Monat November liegt.     A B C D 1 12.08.2002 daten daten daten 2 15.08.2002 daten daten daten 3 20.08.2002 daten daten daten 4 12.09.2002 daten daten daten 5 15.09.2002 daten daten daten 6 20.09.2002 daten daten daten 7 12.10.2002 daten daten daten 8 15.10.2002 daten daten daten 9 20.10.2002 daten daten daten 10 15.11.2002 daten daten daten 11 15.11.2002 daten daten daten 12 15.11.2002 daten daten daten 13 15.11.2002 daten daten daten 14 12.12.2002 daten daten daten 15 15.12.2002 daten daten daten 16 20.12.2002 daten daten daten Nach...

  • Doppelte Einträge (Duplikate) löschen

    In der folgenden Artikelliste gibt es doppelte Artikelnummern. Zum besseren Verständnis sind diese farbig hervorgehoben,...

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.