Supportnet / Forum / Tabellenkalkulation
Arbeitsblatt wechseln
Frage
Hallo Freunde der Sonne
Ich hoffe jemand kann mir helfen
Ich habe eine Mappe mit 26 Tabellen und möchte mit einem click Button zwischen den Blättern wechseln. soweit so klar. Ich weiss das dies mit "ActiveWorkbook.Worksheets("Tabellen_Name").Activate" geht. Aber ich möchte in das letzte aktivierte Blatt springen. Ohne speziellen bezug auf den Tabellen Namen. Näher: ich kann auf Tabelle 4 von Tabelle 1, 2 und 3 aus mit einem Click Button hinkommen, nun möchte ich von Tabelle 4 aus mit einem Click Button dann wieder in die Tabelle 1, 2 oder 3 kommen von der aus ich in Tabelle 4 gelangt bin. sowas wie last sheet activate. Ich möchte in Tabelle 4 eben nur einen zurück Button und nicht 3 Buttons mit zurück in Tabelle 1, zurück in Tabelle 2 usw.
Ich hoffe ich habe mich verständlich ausgedrückt. Bin für jede Hilfe dankbar. Vielen Dank
Antwort 1 von coros
Hallo Thomas,
ich gehe mal davon aus, dass Du zum wechseln in die einzelnen Tabellenblätter ein Makro hast. In dieses Makro integrierst Du nun nachfolgenden Befehl gleich am Anfang des Makros:
Dann fügst Du in das Modul, in dem sich das Makro für den Tabellenwechsel befindet oder auch in ein neues Modul nachfolgende Zeile ganz oben im VBA-Fenster, also vor dem ersten Makro, das sich darin befindet, ein:
Eine Zeile tiefer oder auch mehr, fügst Du nun noch das nachfolgende Makro ein:
Der Schaltfläche, mit dem Du in das vorherige Tabellenblatt springen möchtest, weißt Du dann dem Makro "Zurück" zu. Das war's.
Zur Erklärung: Mit dem Befehl "SheetNamegesichert = ActiveSheet.Name" der in Dein(e) vorhandene(s) Makro(s) am Anfang eingefügt wird, speichert den aktuellen Blattnamen in der Variablen "SheetNamegesichert ". Durch die Variablendeklaration "Public SheetNamegesichert As String" kann der Variablenwert in der gesamten Prozedur zu jeder Zeit abgerufen werden bis er durch einen neuen Wert überschrieben wird. Durch das Makro "Zurück" wird nun nicht mehr gemacht, als dass das Tabellenblatt mit dem Namen aus der Variablen "SheetNamegesichert" aufgerufen wird.
Ich habe Dir mal eine Beispieldatei hochgeladen, in der ich das realisiert habe. Du kannst die Datei unter http://www.excelbeispiele.de/Beispiele_Supportnet/Beispiel_... downloaden.
Ich hoffe, Du hast das verstanden. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich gehe mal davon aus, dass Du zum wechseln in die einzelnen Tabellenblätter ein Makro hast. In dieses Makro integrierst Du nun nachfolgenden Befehl gleich am Anfang des Makros:
SheetNamegesichert = ActiveSheet.Name
Dann fügst Du in das Modul, in dem sich das Makro für den Tabellenwechsel befindet oder auch in ein neues Modul nachfolgende Zeile ganz oben im VBA-Fenster, also vor dem ersten Makro, das sich darin befindet, ein:
Public SheetNamegesichert As String
Eine Zeile tiefer oder auch mehr, fügst Du nun noch das nachfolgende Makro ein:
Sub Zurück()
Sheets(SheetNamegesichert).Activate
End Sub
Der Schaltfläche, mit dem Du in das vorherige Tabellenblatt springen möchtest, weißt Du dann dem Makro "Zurück" zu. Das war's.
Zur Erklärung: Mit dem Befehl "SheetNamegesichert = ActiveSheet.Name" der in Dein(e) vorhandene(s) Makro(s) am Anfang eingefügt wird, speichert den aktuellen Blattnamen in der Variablen "SheetNamegesichert ". Durch die Variablendeklaration "Public SheetNamegesichert As String" kann der Variablenwert in der gesamten Prozedur zu jeder Zeit abgerufen werden bis er durch einen neuen Wert überschrieben wird. Durch das Makro "Zurück" wird nun nicht mehr gemacht, als dass das Tabellenblatt mit dem Namen aus der Variablen "SheetNamegesichert" aufgerufen wird.
Ich habe Dir mal eine Beispieldatei hochgeladen, in der ich das realisiert habe. Du kannst die Datei unter http://www.excelbeispiele.de/Beispiele_Supportnet/Beispiel_... downloaden.
Ich hoffe, Du hast das verstanden. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.