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

zurück zum vorherigen aktiven tabellenblatt

Forumthread: zurück zum vorherigen aktiven tabellenblatt

zurück zum vorherigen aktiven tabellenblatt
02.10.2012 17:34:54
Martin
Hallo zusammen,
ich möchte gerne von einem derzeit aktiven Blatt auf das Blatt zurückspringen, das vorher aktiv war.
Dieses ist jedoch nicht vor dem jetzt aktiven Blatt, so dass ich nicht mit
ActiveSheet.Previous.Select
weiterkomme.
Vielen Dank für eure Hilfe,
Martin

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zurück zum vorherigen aktiven tabellenblatt
02.10.2012 18:57:23
Josef

Hallo Martin,
so?
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  Set objLastSheets = Sh
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public objLastSheets As Object

Sub historyBack()
  If Not objLastSheets Is Nothing Then objLastSheets.Activate
End Sub



« Gruß Sepp »

Anzeige
AW: zurück zum vorherigen aktiven tabellenblatt
02.10.2012 20:08:05
Martin
Hallo Sepp,
vielen Dank schon einmal für deinen Vorschlag.
Leider mache ich wohl noch etwas falsch.
Des besseren Verständnis habe ich mal eine Beispieldatei angehängt.

Die Datei https://www.herber.de/bbs/user/81960.xlsm wurde aus Datenschutzgründen gelöscht


Ich springe zunächst von "Step 1" auf "Einheiten umrechnen" und möchte dann wieder zurück zu "Step 1".
Wenn ich bei "Step 2" bin und dann auf " Einheiten umrechnen" gehe, möchte ich zurück zu "Step 2".
usw.
Gruß, Martin

Anzeige
AW: zurück zum vorherigen aktiven tabellenblatt
02.10.2012 20:14:42
Josef

Hallo Martin,
"Leider mache ich wohl noch etwas falsch."
Ja, du kopierst den Code nicht dort hin wo er hingehört, wer lesen kann ist wieder einmal klar im Vorteil;-))
https://www.herber.de/bbs/user/81961.xlsm

« Gruß Sepp »

Anzeige
AW: zurück zum vorherigen aktiven tabellenblatt
02.10.2012 20:39:35
Martin
Hallo Sepp,
vielen Dank, jetrzt geht es natürlich. Ich mach wohl besser jetzt mal Feierabend....
Schönen Abend und schönen Feiertag,
Martin
;
Anzeige

Infobox / Tutorial

Zurück zum vorherigen aktiven Tabellenblatt in Excel


Schritt-für-Schritt-Anleitung

Um in Excel von einem aktiven Tabellenblatt zum vorherigen zurückzuspringen, kannst du folgendes VBA-Skript verwenden. Dies funktioniert in Excel 2016 und später:

  1. Öffne deine Excel-Arbeitsmappe.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.
  4. Füge den folgenden Code in das Modul ein:
Option Explicit

Private objLastSheets As Object

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Set objLastSheets = Sh
End Sub

Sub historyBack()
    If Not objLastSheets Is Nothing Then
        objLastSheets.Activate
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Arbeitsmappe.
  2. Du kannst nun das Makro historyBack ausführen, um zum vorherigen Tabellenblatt zurückzukehren.

Häufige Fehler und Lösungen

  1. Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass das Makro im richtigen Modul eingefügt wurde. Der Code muss im Modul „DieseArbeitsmappe“ und einem allgemeinen Modul sein.
  2. Fehler: Es wird kein vorheriges Blatt aktiviert.

    • Lösung: Überprüfe, ob der Code in der richtigen Reihenfolge ausgeführt wird und dass die Workbook_SheetDeactivate-Subroutine korrekt arbeitet.

Alternative Methoden

Eine einfache Möglichkeit, zwischen Tabellenblättern zu navigieren, ist die Verwendung von Tastenkombinationen:

  • Drücke CTRL + Page Up, um zum vorherigen Blatt zu wechseln.
  • Drücke CTRL + Page Down, um zum nächsten Blatt zu wechseln.

Diese Methode ist zwar nicht so flexibel wie das VBA-Skript, ermöglicht jedoch eine schnelle Navigation.


Praktische Beispiele

Angenommen, du hast zwei Blätter: "Step 1" und "Step 2". Mit dem oben genannten Skript kannst du:

  1. Von "Step 1" zu "Step 2" springen.
  2. Bei "Step 2" das Makro historyBack ausführen, um zu "Step 1" zurückzukehren.

Das VBA-Skript speichert das zuletzt aktive Blatt, sodass du jederzeit zurückspringen kannst, egal in welcher Reihenfolge du die Blätter besuchst.


Tipps für Profis

  • Benennung: Benenne deine Makros sinnvoll, damit du sie später leicht identifizieren kannst.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um Probleme beim Ausführen des Makros zu vermeiden.
  • Verwendung von Shortcuts: Erstelle Tastenkombinationen für deine Makros, um die Effizienz zu steigern.

FAQ: Häufige Fragen

1. Kann ich das Skript auch in Excel Online verwenden?
Nein, das VBA-Skript funktioniert nur in der Desktop-Version von Excel.

2. Was passiert, wenn ich das makrogeschützte Dokument schließe?
Wenn du die Arbeitsmappe schließt, gehen die Einstellungen für objLastSheets verloren. Du musst das Makro erneut aktivieren, wenn du die Arbeitsmappe öffnest.

3. Wie kann ich das Skript anpassen, um mehrere Blätter zu speichern?
Du kannst ein Array verwenden, um die letzten x Blätter zu speichern, und dann einen Index verwenden, um zwischen ihnen zu navigieren.

4. Ist es möglich, das Skript für bestimmte Blätter zu deaktivieren?
Ja, du kannst Bedingungen im Workbook_SheetDeactivate-Code hinzufügen, um das Speichern für bestimmte Blätter zu verhindern.

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