Blattnamen in Excel mit VBA auslesen
Schritt-für-Schritt-Anleitung
Um den Namen eines Excel-Tabellenblatts ohne Aktivierung des Blattes auszulesen, kannst Du den folgenden VBA-Code verwenden:
-
Öffne Excel und aktiviere den VBA-Editor mit Alt + F11
.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > "Einfügen" > "Modul".
-
Kopiere den folgenden Code in das Modul:
Sub BlattNameAuslesen()
Dim sCod As String
Dim sTab As String
' Hier den CodeName des gewünschten Blattes eingeben
sCod = "Tabelle2" ' Beispiel-CodeName
' Blattnamen auslesen
sTab = ThisWorkbook.VBProject.VBComponents(sCod).Name
' Ergebnis in einer Meldung anzeigen
MsgBox "Der Blattname ist: " & sTab
End Sub
-
Führe das Makro mit F5
aus, um den Blattnamen anzuzeigen.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du den Namen des Blattes direkt aus einer Zelle auslesen möchtest, kannst Du den folgenden Code verwenden:
Sub BlattnamenAuslesenDirekt()
Dim sTab As String
sTab = ThisWorkbook.Worksheets(1).Name ' Ersetze 1 mit der Nummer des gewünschten Blattes
MsgBox "Der Blattname ist: " & sTab
End Sub
Diese Methode ist einfacher, benötigt jedoch, dass das Blatt aktiv ist oder im Code referenziert wird.
Praktische Beispiele
Hier sind einige nützliche Beispiele, um den Blattnamen zu auslesen:
-
Auslesen aller Blattnamen in einer Schleife:
Sub AlleBlattnamenAuslesen()
Dim ws As Worksheet
Dim namenListe As String
For Each ws In ThisWorkbook.Worksheets
namenListe = namenListe & ws.Name & vbCrLf
Next ws
MsgBox "Blattnamen: " & vbCrLf & namenListe
End Sub
-
Speichern des Blattnamens in einer Zelle:
Sub BlattnameInZelleSpeichern()
Dim sTab As String
sTab = ThisWorkbook.Worksheets(1).Name
ThisWorkbook.Worksheets(1).Range("A1").Value = sTab ' Speichert den Blattnamen in Zelle A1
End Sub
Tipps für Profis
- Verwendung von CodeNames: Die Verwendung von CodeNames ist oft sicherer als die Verwendung von Sheet-Index, da sich die Indizes ändern können, wenn Blätter hinzugefügt oder gelöscht werden.
- Vermeide die Verwendung von
.Activate
: Um die Leistung zu verbessern, versuche, .Activate
zu vermeiden, wenn Du mit VBA arbeitest.
- Dokumentiere Deinen Code: Füge Kommentare hinzu, um die Funktionalität Deines Codes zu erläutern, besonders wenn Du mit mehreren Blättern arbeitest.
FAQ: Häufige Fragen
1. Wie finde ich den CodeName eines Blattes?
Du kannst den CodeName eines Blattes im VBA-Editor im Projektfenster sehen. Klicke mit der rechten Maustaste auf das Blatt und wähle "Eigenschaften".
2. Ist es möglich, den Namen eines Blattes in einer Variablen zu speichern?
Ja, Du kannst den Blattnamen in einer String-Variablen speichern, wie im Beispiel oben gezeigt.
3. Funktioniert dieser Code in allen Excel-Versionen?
Der bereitgestellte Code sollte in den meisten modernen Excel-Versionen (z.B. Excel 2016, 2019, 365) funktionieren, die VBA unterstützen.