Supportnet Computer
Planet of Tech

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:

 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.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: