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

Forumthread: Tabellenblatt öffnen / Blattname aus Zelle

Tabellenblatt öffnen / Blattname aus Zelle
Stefan
Hallo zusammen,
ich suche mir schon seit fast einer Stunde einen Wolf.
Ich möchte aus einer Startdatei heraus per Makro eine 2. Datei öffnen und dann gleich ein bestimmtes Tabellenblatt aktivieren. Der Name des jeweiligen Blattes wird jedoch erst ausgewählt und steht dann in der Startdatei in Zelle G5.
Die Datei öffen geht ja noch:
Workbooks.Open Filename:="E:\Pfad...\Dateiname.xls"
Wie aber kombiniere ich das, dass Excel z.B. das Blatt mit dem Namen "UK 112" (aus G5) aktiviert ?
Ich bitte um Nachhilfe.
Besten Dank und Gruß
Stefan
Anzeige
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 13:03:39
Hajo_Zi
Hallo Stefan,
Worksheets(ThisWorkbook.Worksheets(""Tabelle1").range("G5")).Select

AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 13:05:12
Hajo_Zi
Halo Stefan,
paar Anführungzeichen zu viel
Worksheets(ThisWorkbook.Worksheets("Tabelle1").Range("G5")).Select
Gruß Hajo
Anzeige
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 13:53:24
Stefan
Hallo Hajo,
Danke erstmal.
Excel sagt immer "Typen unverträglich".
In der Startdatei in Tabelle1 in Zelle G5 steht "UK 120".
Die Datei die geöffnet wird heißt "Dienst-KFZ Abrechnung 2010.xls" und hier gibt es mehrere Tabellenblätter, eben auch das mit "UK 120". Wo kann denn bloß der Haken sein ?
Danke und Gruß
Stefan
Anzeige
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 14:00:15
Hajo_Zi
Hallo Stefan,
Du hast den Tabellennamen aus der Datei aus der der Code gestartet wird angepast?
Gruß Hajo
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 14:13:39
Stefan
Nee, habe ich nicht. Aber da in der Startdatei auch nur 1 Blatt enthalten ist, habe ich es bei "Tabelle1" belassen. Also müsste das mit Deinem Code doch passen. Hm ....
Gruß
Stefan
Anzeige
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 14:21:05
Hajo_Zi
Hallo Stafan,
Ja, wie Du gesehen hast hast hat Torsten einen ähnlichen Ansatz.
Gruß Hajo
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 13:05:22
Oberschlumpf
Hi Stefan
Wenn du schon so weit bist, dass die gewünschte Datei geöffnet ist, dann versuch mal so:

...dein bisheriger Code
Sheets(Thisworkbook.Sheets("BlattnameInDemZelleG5Steht").Range("G5").Value).Activate

Hilfts?
Ciao
Thorsten
Anzeige
AW: Tabellenblatt öffnen / Blattname aus Zelle
08.06.2010 14:32:46
Stefan
Hi Thorsten,
danke für Deine Rückmeldung. Ich war zuerst Hajo´s Spur gefolgt.
Diese führte leider zu einer Fehlermeldung.
Bei Deinem Code sagt Excel nach Anpassung des Tabellennamens "Index außerhalb des gültigen Bereichs". Da die Startdatei nur ein Blatt enthält, hatte ich es bei "Tabelle1" belassen. Der Code sieht dann so aus:
Sheets(ThisWorkbook.Sheets("Tabelle1").Range("G5").Value).Activate
Habe ich denn da einen Denkfehler ?
Gruß
Stefan
Anzeige
Activeworkbook fehlt...
08.06.2010 15:22:09
Peter.H
Hallo Stefan
Activeworkbook.Sheets(ThisWorkbook.Sheets("Tabelle1").Range("G5").Value).Activate
Gruß
Peter
;

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

Tabellenblatt aktivieren und Blattname aus Zelle übernehmen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, aus der Du das Tabellenblatt aktivieren möchtest. Stelle sicher, dass der Blattname in einer Zelle (z.B. G5) steht.

  2. Füge den folgenden VBA-Code in ein Modul ein:

    Sub TabellenblattAktivieren()
       Dim wb As Workbook
       Dim blattName As String
    
       ' Datei öffnen
       Set wb = Workbooks.Open(Filename:="E:\Pfad...\Dateiname.xls")
    
       ' Blattname aus Zelle G5 übernehmen
       blattName = ThisWorkbook.Worksheets("Tabelle1").Range("G5").Value
    
       ' Aktiviere das Tabellenblatt
       wb.Worksheets(blattName).Activate
    End Sub
  3. Passe den Pfad und Dateinamen gemäß Deiner Datei an. Stelle sicher, dass der Blattname in Zelle G5 korrekt geschrieben ist.

  4. Starte das Makro, um das gewünschte Tabellenblatt zu aktivieren.


Häufige Fehler und Lösungen

  • Typen unverträglich: Überprüfe, ob der Blattname in Zelle G5 korrekt geschrieben ist. Ein Tippfehler kann diesen Fehler verursachen.

  • Index außerhalb des gültigen Bereichs: Stelle sicher, dass das Blatt mit dem Namen, der in G5 steht, tatsächlich in der geöffneten Datei existiert.

  • ActiveWorkbook fehlt: Wenn Du den Code in einem anderen Workbook ausführst, füge ActiveWorkbook hinzu, um auf das aktive Workbook zuzugreifen. Beispiel:

    ActiveWorkbook.Worksheets(ThisWorkbook.Worksheets("Tabelle1").Range("G5").Value).Activate

Alternative Methoden

  • Blattname manuell eingeben: Anstatt den Namen aus einer Zelle zu übernehmen, kannst Du den Blattnamen direkt im Code angeben:

    wb.Worksheets("UK 120").Activate
  • Blattname aus einer anderen Zelle: Ändere die Zelle, aus der der Blattname übernommen werden soll, um mehr Flexibilität zu haben:

    blattName = ThisWorkbook.Worksheets("Tabelle1").Range("H5").Value

Praktische Beispiele

  • Beispiel 1: Wenn Du das Tabellenblatt "Finanzen" aktivieren möchtest, stelle sicher, dass in Zelle G5 "Finanzen" steht. Der Code bleibt derselbe.

  • Beispiel 2: Um mehrere Blattnamen zu aktivieren, kannst Du eine Schleife verwenden:

    Dim i As Integer
    For i = 1 To 5
       wb.Worksheets(ThisWorkbook.Worksheets("Tabelle1").Cells(i, 1).Value).Activate
    Next i

In diesem Beispiel werden die Namen der Blätter aus den ersten fünf Zellen in Spalte A übernommen.


Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um das Skript robuster zu machen:

    On Error Resume Next
    wb.Worksheets(blattName).Activate
    If Err.Number <> 0 Then
       MsgBox "Das Blatt '" & blattName & "' existiert nicht!"
    End If
    On Error GoTo 0
  • Verwendung von Option Explicit: Um Variablen klar zu definieren und Tippfehler zu vermeiden, verwende Option Explicit am Anfang Deines Moduls.


FAQ: Häufige Fragen

1. Wie kann ich den Blattnamen aus einer anderen Zelle übernehmen?
Du kannst einfach die Zellreferenz in Deinem Code ändern, z.B. Range("H5").Value.

2. Was mache ich, wenn das Makro nicht funktioniert?
Überprüfe den Pfad zur Datei und stelle sicher, dass der Blattname korrekt in der angegebenen Zelle steht. Achte auch auf mögliche Tippfehler.

3. Kann ich das Makro für mehrere Dateien verwenden?
Ja, Du kannst den Code anpassen, um verschiedene Dateien nacheinander zu öffnen und die jeweiligen Tabellenblätter zu aktivieren.

4. Welche Excel-Version wird benötigt?
Der Code funktioniert in Excel-Versionen, die VBA unterstützen, also ab Excel 2007 und neuer.

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