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

Forumthread: VBA (das erste Tabellenblatt öffnen)

VBA (das erste Tabellenblatt öffnen)
rieckmann
Hallo allerseits,
gibt es einen Code der das erste oder letzte Tabellenblatt in einem WorkBook öffnet ?
Oder das, welches zuvor geöffnet war ?
Alle 3 Varianten wären interessant für mich.
Also kein bestimmtes wie z.B. Sheets("Tabelle1").Select, und auch kein aktives wie ActiveSheet.Select,
da der Name des ersten Tabellenblatt sich immer ändert !
Habe bei der Suche nichts dergleichen gefunden !
Gruß
Fred
Anzeige
Worksheets(1).activate
09.04.2012 14:32:45
Matthias
Hallo Fred
Count ist das letzte Blatt
Du musst also den Index abfragen.
Gruß Matthias
AW: Worksheets(1).activate
09.04.2012 15:05:57
rieckmann
Hallo Matthias,
danke dir der Code Worksheets(1).Activate war Goldrichtig !
Gruß
Fred
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 14:50:15
Hajo_Zi
Hallo Fred,
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.

Anzeige
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 15:08:58
rieckmann
Hallo Hajo,
gut zu wissen, aber man sieht es immer wieder in den Codes.
Gruß
Fred
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 15:19:50
Hajo_Zi
Hallo Fred,
man muss schlechte Sachen nicht übernehmen. Man kann sich das wieder schlecht abgewohnen und nachträglich bearbeiten bedeutet meist Programm neu schreiben.
Gruß Hajo
Anzeige
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 15:17:26
Reinhard
Hallo Fred,
####Oder das, welches zuvor geöffnet war ?####
Was meinst du mit "zuvor", vor was,wem,...?
Gruß
Reinhard
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 17:08:39
rieckmann
Hallo Reinhard,
also das Tabellenblatt welches zuvor geöffnet war, also vor dem jetzt aktiven in der selben Mappe.
Ich habe aber nun schon dein oben genanntes Beispiel verwendet, und das klappt super.
Gruß
Fred
Anzeige
wie jetzt ?
09.04.2012 17:42:46
Matthias
Hallo
Zitat
Ich habe aber nun schon dein oben genanntes Beispiel verwendet, und das klappt super
Ich hab noch gar kein Bsp von Reinhard gesehen.
Gruß Matthias
AW: wie jetzt ?
09.04.2012 17:49:38
rieckmann
Sorry Matthias,
das war ja dein Beispiel.
Bitte um Vergebung !
Gruß
Fred
Anzeige
AW: VBA (das erste Tabellenblatt öffnen)
09.04.2012 18:41:59
Reinhard
Hallo Fred,
vllt. so,
In ein Standardmodul oben unter Option Explicit:
Public strBlatt As String
In das Modul DieseArbeitsmappe:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
strBlatt = Sh.Name
End Sub

Gruß
Reinhard
Anzeige
AW: VBA (das erste Tabellenblatt öffnen)
10.04.2012 13:55:53
rieckmann
Hallo Reinhard,
danke für deinen Vorschlag.
Den werde ich mir auch abspeichern,
aber wie ich weiter oben schon geschrieben habe,
hatte ich mit dem Vorschlag von Matthias schon Erfolg.
Dank und Gruß
Fred
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

VBA: Das erste Tabellenblatt auswählen


Schritt-für-Schritt-Anleitung

Um das erste Tabellenblatt in einer Excel-Arbeitsmappe mit VBA auszuwählen, kannst du den folgenden Code verwenden:

Worksheets(1).Activate

Dieser Befehl aktiviert das erste Tabellenblatt, unabhängig vom Namen. Wenn du das letzte Tabellenblatt aktivieren möchtest, kannst du diesen Code verwenden:

Worksheets(Worksheets.Count).Activate

Falls du das zuvor aktive Blatt wiederherstellen möchtest, kannst du eine Variable verwenden, um den Namen des zuletzt aktiven Blattes zu speichern, wie im folgenden Beispiel:

Public strBlatt As String

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    strBlatt = Sh.Name
End Sub

Sub AktiviereVorherigesBlatt()
    On Error Resume Next
    Worksheets(strBlatt).Activate
    On Error GoTo 0
End Sub

Häufige Fehler und Lösungen

  1. Fehler: "Subscript out of range"

    • Lösung: Stelle sicher, dass das Blatt, das du aktivieren möchtest, tatsächlich existiert. Überprüfe den Namen oder den Index.
  2. Fehler: "Object variable or With block variable not set"

    • Lösung: Dieser Fehler tritt auf, wenn du versuchst, auf ein Blatt zuzugreifen, das nicht existiert oder nicht richtig referenziert wurde. Verwende Worksheets("Blattname"), um gezielt nach einem bestimmten Blatt zu suchen.

Alternative Methoden

Neben Worksheets(1).Activate gibt es auch andere Methoden, um das erste Tabellenblatt auszuwählen:

  • Verwendung von Sheets:

    Sheets(1).Select
  • Direktes Arbeiten mit ActiveSheet:

    ActiveSheet.Select

Diese Methoden können je nach Kontext nützlich sein, insbesondere wenn du mehrere Blätter gleichzeitig bearbeiten möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das erste Tabellenblatt in unterschiedlichen Szenarien aktivieren kannst:

  1. Ein einfaches Makro für das erste Tabellenblatt:

    Sub ErsterTabellenblattAktivieren()
        Worksheets(1).Activate
    End Sub
  2. Ein Makro, das das letzte und das erste Blatt wechselt:

    Sub WechselZwischenErstemUndLetztemBlatt()
        Worksheets(1).Activate
        Worksheets(Worksheets.Count).Activate
    End Sub
  3. Ein Makro, um das zuletzt aktive Blatt wiederherzustellen:

    Sub WiederherstellenVorherigesBlatt()
        On Error Resume Next
        Worksheets(strBlatt).Activate
        On Error GoTo 0
    End Sub

Tipps für Profis

  • Vermeide Select und Activate, wenn es nicht nötig ist. Es ist oft effizienter, direkt auf die Objekte zuzugreifen, z.B. Worksheets(1).Range("A1").Value = "Test".

  • Nutze Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft dir, Fehler zu vermeiden, die durch Tippfehler entstehen können.

  • Baue Fehlerbehandlungsroutinen in deine Makros ein, um unerwartete Probleme elegant zu lösen.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass ich das richtige Blatt öffne?
Du kannst den Namen des Blattes überprüfen, indem du MsgBox Worksheets(1).Name verwendest, bevor du es aktivierst.

2. Was passiert, wenn das erste Blatt gelöscht wird?
Wenn das erste Blatt gelöscht wird und du versuchst, Worksheets(1).Activate zu verwenden, erhältst du einen Fehler. Überprüfe immer die Anzahl der Blätter mit Worksheets.Count, bevor du auf ein Blatt zugreifst.

3. Kann ich das erste Tabellenblatt mit einem Shortcut aktivieren?
Ja, du kannst ein Makro erstellen, das das erste Tabellenblatt aktiviert, und es einem Shortcut zuweisen. Dies ist besonders nützlich für häufige Aufgaben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige