Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Adresse umwandeln

Adresse umwandeln
18.01.2006 08:37:14
Horst
Hallo,
wie kann ich in VB einen "Spaltenbuchstaben" in die "Spaltenzahl" wandeln?
z.B. A = 1; B = 2 usw.
Mit Select Case ist es mir klar, aber ich denke das müsste doch eleganter gehen
Vielen Dank im Voraus
Gruß Horst
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adresse umwandeln
18.01.2006 08:43:56
Harald
Moin Horst
Extras / Optionen / Allgemein und Häkchen bei Z1S1-Bezugsart.
Gruss Harald
AW: Adresse umwandeln
18.01.2006 09:06:32
Horst
Hallo Harald,
vielen Dank für Deine Info, aber ich benötige die Umwandlung in VB.
Vielen Dank im Voraus
Gruß Horst
AW: Adresse umwandeln
18.01.2006 09:11:52
Harald
Hmm,
als die Alternative zu bspweise Range("A2") ist cells(2, 1)
cells(Zeile, Spalte)
oder
spaltennummer = range("C1").column
msgbox spaltennummer
Gruss Harald
Anzeige
AW: Adresse umwandeln
18.01.2006 09:21:25
WernerB.
Hallo Horst,
meinst Du so:

Sub Horst()
Dim SpNr As Integer
SpNr = ActiveCell.Column
MsgBox SpNr
SpNr = Range("A1").Column
MsgBox SpNr
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Adresse umwandeln
18.01.2006 10:34:28
Horst
Hallo Werner,
genau das wollte ich wissen. Ich brauche also eine gesamte Adresse.
also z.B. "A1" obwohl die Zeile (hier 1) ja nicht relevant ist.
Vielen Dank
Horst
AW: Adresse umwandeln
18.01.2006 12:09:14
WernerB.
Hallo Horst,
schon vor längerer Zeit habe ich mir mal dieses kleine Makro gestrickt, das ich für Dich wieder "ausgegraben" habe. Du kannst hier die Spaltenbezeichnung (1 oder 2 Buchstaben) eingeben und die entsprechende Spaltennummer wird dann ausgegeben.
Vielleicht dient es es Dir noch als kleine Anregung - ich weiß ja nicht, in welchem Zusammenhang Du die Spaltennummer benötigst.

Sub SpaltenNummer()
Dim s As String
s = InputBox(vbCr & vbCr & vbCr & "Spaltenbuchstabe(n):", "Spaltennummer")
If s = "" Then
MsgBox "Keine Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
s = UCase(s)
MsgBox "Spaltennummer Spalte " & s & ": " & Range(s & "1").Column
End Sub

Gruß
WernerB.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spaltenbezeichnung in Zahl umwandeln in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine Spaltenbezeichnung in eine Spaltenzahl umzuwandeln, kannst Du das folgende Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub SpaltenNummer()
       Dim s As String
       s = InputBox("Spaltenbuchstabe(n):", "Spaltennummer")
       If s = "" Then
           MsgBox "Keine Eingabe! Makro-Abbruch!", vbExclamation
           Exit Sub
       End If
       s = UCase(s)
       MsgBox "Spaltennummer für Spalte " & s & ": " & Range(s & "1").Column
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro mit ALT + F8 aus und wähle SpaltenNummer aus.

Das Makro fragt nach einer Spaltenbezeichnung wie "A" oder "AB" und gibt die entsprechende Spaltennummer aus.


Häufige Fehler und Lösungen

Fehler 1: Leere Eingabe

  • Problem: Wenn Du keine Eingabe machst, wird das Makro abgebrochen.
  • Lösung: Stelle sicher, dass Du einen gültigen Spaltenbuchstaben eingibst.

Fehler 2: Ungültiger Spaltenbuchstabe

  • Problem: Wenn Du einen ungültigen Buchstaben eingibst, zeigt Excel möglicherweise einen Fehler an.
  • Lösung: Gib nur Buchstaben von A bis Z oder von AA bis ZZ ein.

Alternative Methoden

Neben dem oben beschriebenen Makro gibt es alternative Methoden, um die Excel Adresse zu manipulieren:

  • Verwende die Cells-Funktion:

    Dim spnr As Integer
    spnr = Cells(1, 1).Column ' Gibt die Spaltennummer von Zelle A1 zurück
    MsgBox spnr
  • Nutze die Range-Funktion, um direkt auf die Spaltennummer zuzugreifen:

    Dim spnr As Integer
    spnr = Range("C1").Column ' Gibt die Spaltennummer von Zelle C1 zurück
    MsgBox spnr

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du die Umwandlung in einer Excel-Tabelle nutzen kannst:

  1. Angenommen, Du möchtest die Spaltenbezeichnung "B" in eine Zahl umwandeln. Führe das oben genannte Makro aus, und Du erhältst die Ausgabe "2".
  2. Für mehrere Spalten kannst Du das Makro mehrfach ausführen und die Eingaben variieren.

Tipps für Profis

  • Nutze die Application.InputBox-Funktion, um sicherzustellen, dass die Eingabe nur gültige Daten akzeptiert:

    Dim s As String
    s = Application.InputBox("Gib die Spaltenbezeichnung ein:", Type:=2)
  • Halte deine Makros organisiert, indem Du sie in separate Module unterteilst, insbesondere wenn Du mehrere Funktionen zur Umwandlung von Adressen in Excel hast.


FAQ: Häufige Fragen

1. Wie kann ich die Excel Adresse in VBA umwandeln? Du kannst die Range- und Cells-Methoden verwenden, um auf bestimmte Zellen zuzugreifen und deren Spaltennummern zu ermitteln.

2. Was ist der Unterschied zwischen Range und Cells? Range verwendet die Zelladresse (z.B. "A1"), während Cells die Zeilen- und Spaltennummer als Argumente benötigt (z.B. Cells(1, 1) für A1).

3. Kann ich die Spaltennummer direkt in einer Formel verwenden? Ja, Du kannst die Spaltennummer in Formeln verwenden, um Berechnungen basierend auf der Position von Zellen durchzuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige