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

Forumthread: Makro beim Blattwechsel ausführen ..

Makro beim Blattwechsel ausführen ..
WalterK
Hallo,
den Code in der beigefügten Mappe habe ich aus diesem Forum, es wird das Blatt INHALT angelegt und dort werden dann alle Blätter aufgelistet. Funktioniert auch tadellos.
https://www.herber.de/bbs/user/65643.xls
Ich hätte es jetzt gerne so, dass der Code immer beim Öffnen der Mappe ausgeführt wird und jedesmal, wenn ich in das Blatt INHALT wechsle.
Kann mir jemand dabei behilflich sein?
Besten Dank und Servus, Walter
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro beim Blattwechsel ausführen ..
07.11.2009 02:34:11
Frank
Hallo Walter!!!
Im VBA Editor schreibst du in Diese Arbeitsmappe:
Sub Worbook_Open()
'Deinen Code
End Sub In die Tabelle Inhalt:
Private Sub Worksheets_Activate()
'Deinen Code
End Sub
Ich hoffe ich konnte helfen. Rückmeldung wäre nett!!!
Gruß Frank H.
Anzeige
AW: Makro beim Blattwechsel ausführen ..
07.11.2009 06:22:46
hary
Moin Walter
ich wuerd's so machen.

Private Sub Workbook_Open()
Call Blattliste  'ruft das Makro auf
Sheets("INHALT").Activate
Range("B3").Select
For Each WsTabelle In Sheets
WsTabelle.Protect
Next WsTabelle
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "INHALT" Then Call Blattliste ' ruft das Makro auf
End Sub

Gruss hary
Anzeige
Funktioniert ...
07.11.2009 08:41:58
WalterK
Hallo,
besten Dank den Helfern.
Habe mich für den Code von Hary entschieden, den musste ich nur noch hineinkopieren und es läuft.
Servus, Walter
;

Forumthreads zu verwandten Themen

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

Makro beim Blattwechsel ausführen in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro beim Blattwechsel in Excel auszuführen, benötigst du grundlegende Kenntnisse in VBA. Hier sind die Schritte, die du befolgen solltest:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Code in "Diese Arbeitsmappe" hinzufügen:

    • Füge den folgenden Code in das Modul "Diese Arbeitsmappe" ein:
      Private Sub Workbook_Open()
      ' Hier kommt dein Code
      End Sub
  3. Code im entsprechenden Blatt hinzufügen:

    • Wähle das Blatt "INHALT" aus und füge den folgenden Code in das Modul des Blattes ein:
      Private Sub Worksheet_Activate()
      ' Hier kommt dein Code
      End Sub
  4. Blattliste erstellen (optional):

    • Du kannst auch eine Liste aller Blätter automatisch erstellen, indem du den folgenden Code verwendest:
      
      Private Sub Workbook_Open()
      Call Blattliste  'ruft das Makro auf
      Sheets("INHALT").Activate
      End Sub

    Private Sub Workbook_SheetActivate(ByVal Sh As Object) If ActiveSheet.Name = "INHALT" Then Call Blattliste ' ruft das Makro auf End Sub


Häufige Fehler und Lösungen

  • Makro wird nicht ausgeführt:

    • Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros und aktiviere die Option "Alle Makros aktivieren".
  • Fehler beim Aktivieren des Blattes:

    • Prüfe, ob der Name des Blattes exakt "INHALT" geschrieben ist. Excel ist bei Blattnamen case-sensitive.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, kannst du auch die Funktion „Formel“ verwenden, um Informationen zu sammeln. Allerdings ist dies nicht so dynamisch wie VBA. Eine andere Möglichkeit ist, das Worksheet Change-Ereignis zu nutzen, um Aktionen beim Ändern von Zellen auszuführen.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie du ein Makro beim Öffnen der Datei und beim Wechseln zum Blatt "INHALT" ausführen kannst:

Private Sub Workbook_Open()
    Call Blattliste  ' ruft dein Makro auf
    Sheets("INHALT").Activate
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If ActiveSheet.Name = "INHALT" Then
        Call Blattliste  ' ruft dein Makro auf
    End If
End Sub

Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next oder On Error GoTo in deinem Code, um Fehler zu handhaben und unerwünschte Abstürze zu vermeiden.

  • Dokumentation: Kommentiere deinen Code ausgiebig, um die Funktionalität für zukünftige Referenzen zu erklären.

  • Testen: Teste dein Makro gründlich, um sicherzustellen, dass es in allen möglichen Szenarien funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass das Makro beim Öffnen der Datei ausgeführt wird? Um sicherzustellen, dass das Makro beim Öffnen der Datei ausgeführt wird, musst du den Code in das "Workbook_Open" Ereignis in "Diese Arbeitsmappe" einfügen.

2. Was ist der Unterschied zwischen "Worksheet_Activate" und "Workbook_SheetActivate"? "Worksheet_Activate" wird nur für das spezifische Blatt ausgeführt, während "Workbook_SheetActivate" für alle Blätter der Arbeitsmappe gilt.

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