Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsblattname per VBA auslesen

Arbeitsblattname per VBA auslesen
20.09.2004 16:38:05
Michael
Hallo Forum
ich möchte per VBA gerne folgendes erreichen.
In meiner Firma im Labor werden sehr viele Tests gemacht die alle in einer Excel Arbeitsmappe auf viellen Arbeitsblättern liegen. Immer wenn so ein Test fertig ist soll per klick auf eine Befehlsschaltfläche eine E-Mail über Lotusnotes an den Labor Leiter gehen.
Das mit der Mail hab ich schon hin bekommen. Wie kriege ich jetzt Excel dazu den Namen des Arbeitsblattes auszulesen damit ich diesen dann ich die Mail mit rein bringen kann?
Dank im Voraus
mfg
Michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblattname per VBA auslesen
20.09.2004 16:57:27
Wolf-Dieter
Hallo Michael,
den Namen erhältst Du mit ActiveWorkbook.Name
Gruß
Dieter
AW: Arbeitsblattname per VBA auslesen
21.09.2004 09:12:53
Michael
Moin Dieter,
mit diesem Befehl liest er den Dateinamen aus. Das war schon sehr hilfreich. Kannst Du mir auch noch sagen wie ich das Script dazu bringe mir den Namen des Arbeitsblattes auszugeben?
Ich sage schon mal Danke.
mfg
Michael
Anzeige
AW: Arbeitsblattname per VBA auslesen
21.09.2004 10:03:00
Wolf-Dieter
Hallo Michael,
das geht mit ActiveWorkbook.ActiveSheet.Name
Gruß
Dieter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Arbeitsblattnamen per VBA auslesen


Schritt-für-Schritt-Anleitung

Um den Namen eines Arbeitsblattes in Excel mit VBA auszulesen, kannst du folgenden einfachen Code verwenden. Dieser Code gibt den Namen des aktuellen Arbeitsblattes aus:

Sub BlattnameAuslesen()
    Dim blattname As String
    blattname = ActiveWorkbook.ActiveSheet.Name
    MsgBox "Der Name des aktuellen Tabellenblattes ist: " & blattname
End Sub
  1. Öffne Excel und gehe zu dem Arbeitsblatt, dessen Name du auslesen möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Kopiere den obigen Code in das Modul.
  5. Drücke F5, um das Makro auszuführen. Ein Meldungsfenster zeigt dir den Namen des aktuellen Tabellenblatts an.

Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Anwendung oder Objekt definieren“

    • Lösung: Stelle sicher, dass du im richtigen Arbeitsblatt bist und dass das Arbeitsblatt nicht geschützt ist.
  • Fehler: „Der Name des aktuellen Tabellenblattes kann nicht ausgelesen werden.“

    • Lösung: Vergewissere dich, dass das Arbeitsblatt aktiv ist. Verwende ActiveWorkbook.Activate vor dem Auslesen des Namens.

Alternative Methoden

Eine weitere Methode, um den Namen einer bestimmten Tabelle auszulesen, ist die Verwendung der Worksheets-Objekte. Hier ein Beispiel:

Sub BestimmtenBlattnamenAuslesen()
    Dim blattname As String
    blattname = Worksheets(1).Name ' Ersetzt 1 durch die entsprechende Blattnummer
    MsgBox "Der Name des ersten Tabellenblattes ist: " & blattname
End Sub

Diese Methode ist besonders nützlich, wenn du den Namen eines spezifischen Blattes ermitteln möchtest, ohne dass es aktiv sein muss.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der oben genannten Methoden:

  1. E-Mail mit dem Blattnamen versenden: Du kannst den Blattnamen in eine E-Mail-Nachricht einfügen, die über Lotus Notes gesendet wird:

    Sub EmailMitBlattnamen()
       Dim blattname As String
       blattname = ActiveWorkbook.ActiveSheet.Name
       ' Hier würde dein E-Mail Code folgen, z.B. mit Lotus Notes
       MsgBox "E-Mail wird versendet mit dem Blattnamen: " & blattname
    End Sub
  2. Namen aller Arbeitsblätter auflisten: Um die Namen aller Arbeitsblätter in der Arbeitsmappe zu erfassen, kannst du so vorgehen:

    Sub AlleBlattnamenAuslesen()
       Dim blatt As Worksheet
       Dim namen As String
    
       For Each blatt In ActiveWorkbook.Worksheets
           namen = namen & blatt.Name & vbCrLf
       Next blatt
    
       MsgBox "Die Namen der Tabellenblätter sind: " & vbCrLf & namen
    End Sub

Tipps für Profis

  • Nutze ThisWorkbook anstelle von ActiveWorkbook, wenn du sicherstellen möchtest, dass du die aktive Arbeitsmappe referenzierst, selbst wenn eine andere Arbeitsmappe geöffnet ist.

  • Verwende die Debug.Print-Funktion, um die Namen in das Direktfenster auszugeben, anstatt eine Meldung anzuzeigen, insbesondere wenn du mit vielen Blättern arbeitest.

  • Experimentiere mit Schleifen, um die Namen von Arbeitsblättern dynamisch zu verarbeiten, besonders bei der Arbeit mit großen Datenmengen.


FAQ: Häufige Fragen

1. Wie kann ich den Namen eines bestimmten Arbeitsblattes über VBA ändern?
Um den Namen eines Arbeitsblattes zu ändern, kannst du folgenden Code verwenden:

ActiveWorkbook.ActiveSheet.Name = "NeuerName"

2. Kann ich den Namen eines Arbeitsblattes aus einer anderen Arbeitsmappe auslesen?
Ja, du kannst den Namen eines Arbeitsblattes aus einer anderen Arbeitsmappe auslesen, indem du die Arbeitsmappe zuerst öffnest und dann den Namen des Blattes referenzierst:

Dim wb As Workbook
Set wb = Workbooks.Open("C:\Pfad\zur\deiner\Datei.xlsx")
MsgBox wb.Worksheets(1).Name
wb.Close

3. Was muss ich beachten, wenn ich Arbeitsblattnamen auslesen möchte, die Leerzeichen enthalten?
Wenn Arbeitsblattnamen Leerzeichen oder spezielle Zeichen enthalten, verwende immer Anführungszeichen, um sicherzustellen, dass der Name korrekt interpretiert wird.

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