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

Forumthread: Spaltennamen auslesen

Spaltennamen auslesen
23.11.2016 15:57:12
Phil
Hallo zusammen,
ich bin gerade ein bisschen am Verzweifeln mit VBA.
Mein Ziel ist es einem Excelbaltt die ersten Zeilen von den Spalten durchzuforschen und dann die Spalte in eine variable kopieren (also z.B. Spalte A oder Spalte B)
Bisher bin ich soweit gekommen, dass ich die gesuchte Spalte gefunden habe. Zumindest denke ich das :)
Dim Best1    As Range
Set Best1 = ActiveSheet.Range("A1:Z1").Find("Nachname")

Weiß jemand eine Lösung, wie ich den Spaltenname in einer Variable speichern kann?
Weil einfach die Variable Best1 ausgeben, z.B. in einer MsgBox geht nicht, da wird dann lediglich "Nachname" ausgegeben.
Viele Grüße,
Philipp
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltennamen auslesen
23.11.2016 16:06:37
ChrisL
Hi Philipp
Vielleicht so...
Sub t()
Dim Best1    As Range
Dim strSpalte As String
Set Best1 = ActiveSheet.Range("A1:Z1").Find("Nachname")
strSpalte = "Spalte " & Chr(Best1.Column + 64)
MsgBox strSpalte
End Sub

cu
Chris
AW: Spaltennamen auslesen
23.11.2016 16:12:13
Phil
Hi Chris,
vielen Dank für die schnelle Antwort!
Super, das geht :)
Grüße,
Philipp
Anzeige
;
Anzeige

Infobox / Tutorial

Spaltennamen auslesen in Excel mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und aktiviere das VBA-Editor-Fenster: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf dein Excel-Projekt, wähle Einfügen und dann Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub t()
       Dim Best1 As Range
       Dim strSpalte As String
       Set Best1 = ActiveSheet.Range("A1:Z1").Find("Nachname")
       If Not Best1 Is Nothing Then
           strSpalte = "Spalte " & Chr(Best1.Column + 64)
           MsgBox strSpalte
       Else
           MsgBox "Spalte nicht gefunden."
       End If
    End Sub
  4. Schließe den VBA-Editor: Drücke ALT + Q, um zum Excel-Fenster zurückzukehren.

  5. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle t aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: MsgBox zeigt "Spalte nicht gefunden".

    • Lösung: Stelle sicher, dass der gesuchte Spaltenname genau mit dem in der ersten Zeile übereinstimmt. Achte auf Groß- und Kleinschreibung.
  • Fehler: Der VBA-Code läuft nicht.

    • Lösung: Überprüfe, ob die Entwicklertools aktiviert sind. Gehe zu Datei > Optionen > Menüband anpassen und aktiviere Entwicklertools.

Alternative Methoden

Wenn Du VBA nicht verwenden möchtest, kannst Du auch die Funktion SVERWEIS nutzen, um Werte aus einer bestimmten Spalte zu extrahieren. Diese Methode ist jedoch weniger flexibel, wenn es um die dynamische Suche nach Spaltennamen geht.


Praktische Beispiele

Angenommen, Du hast folgende Daten in den Zellen A1 bis Z1:

A B C
Vorname Nachname Alter

Wenn Du nach dem Spaltennamen "Nachname" suchst, wird das Makro die Ausgabe "Spalte B" in einer MsgBox anzeigen.


Tipps für Profis

  • Debugging: Nutze Debug.Print anstelle von MsgBox, um Werte in das Direktfenster zu schreiben, was die Fehlersuche erleichtert.
  • Erweiterung: Du kannst das Skript erweitern, um nach mehreren Spaltennamen zu suchen und deren Positionen in einer Liste anzuzeigen.

FAQ: Häufige Fragen

1. Frage
Kann ich das Makro für andere Spaltennamen verwenden?
Ja, ersetze einfach "Nachname" im Code durch den gewünschten Spaltennamen.

2. Frage
Funktioniert dieser Code in Excel 2016?
Ja, der Code funktioniert in Excel 2016 und auch in neueren Versionen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige