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

Worksheet_Activate() geht nicht

Forumthread: Worksheet_Activate() geht nicht

Worksheet_Activate() geht nicht
20.08.2017 15:03:03
Peter
Hallo zusammen,
ich hoffe, das mir jemand sagen kann, welchen Fehler ich mache.
Folgender Aufbau:
1 Workbook (Navigation) mit drei Tabellen (Navigation, Auftrag anlegen, Test).
In der ersten Tabell (Navigation) befinden sich 9 Befehlsschaltflächen die alle funktionieren. Eine der Schaltflächen Aktiviert die zweite Tabelle (Auftrag anlegen).
In dieser Tabelle befindet sich die Prozedur Worksheet_Activate():
Private Sub Worksheet_Activate()
MsgBox ("Activate gefunden")
Call InitAuftrAnlegen
End Sub

Die darin aufgerufene Prozedur "InitAuftrAnlegen" befindet sich im Modul1.
Mein Problem: Die Prozedur Worksheet_Activate() wird nicht ausgeführt.
Es gibt keine Fehlermeldung.
Wenn ich die beteiligten Prozeduren mit dem Debugger einzeln durchgehe, funktionieren alle einwandfrei.
Die schon vorhandenen Threads hier im Forum haben mich auch nicht weitergebracht ... oder ich bin zu dumm.
Wenn noch weitere Infos notwendig sind, sagt mir das bitte.
By the way: Gibt es hier im Forum nicht die Möglichkeit Programmcode als [CODE] zu formatieren?
mfg Peter
p.s. Das mit dem Code hat sich erledigt, das wird ja automatisch gemacht.^^
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Activate() geht nicht
20.08.2017 15:12:10
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
setze mal eine Haltepunkt in der Prozedur.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Worksheet_Activate() geht nicht
20.08.2017 15:31:13
Hajo_Zi
Hallo Petzer,
kein Problem, es wird ausgeführt.
Gruß Hajo
Anzeige
AW: Worksheet_Activate() geht nicht
20.08.2017 15:38:17
Peter
Interessant !!
Warum dann bei mir nicht?
mfg
Peter
AW: Worksheet_Activate() geht nicht
20.08.2017 15:41:40
Hajo_Zi
Hallo Peter,
Makos deaktiviert? teste es mal mit einem Change Ereignis.
Gruß Hajo
AW: Worksheet_Activate() geht nicht
20.08.2017 15:51:12
Peter
Hi,
Makros sind aktiviert. Sonst würden ja auch die anderen nicht gehen^^
mfg
Peter
Anzeige
AW: Worksheet_Activate() geht nicht
20.08.2017 15:55:30
Peter
Ahhh .... nach einem Neustart von Excel geht es ... jetzt muss ich noch nach anderen Sachen Suchen. So ganz richtig funzt mein Code doch noch nicht :-(
mfg
Peter
AW: Worksheet_Activate() geht nicht
20.08.2017 15:56:57
Hajo_Zi
Hallo Peter,
Die zweite Tabelle wurde im Download schon aktiviert?
Weitere Lösungen habe ich nicht.
Gruß Hajo
Anzeige
;
Anzeige

Infobox / Tutorial

Lösung für Probleme mit Worksheet_Activate() in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Erstelle ein neues Workbook und füge drei Tabellen hinzu: „Navigation“, „Auftrag anlegen“ und „Test“.
  2. Füge Befehlsschaltflächen in die Tabelle „Navigation“ ein. Verlinke eine der Schaltflächen mit der Tabelle „Auftrag anlegen“.
  3. Implementiere die Worksheet_Activate()-Prozedur in der Tabelle „Auftrag anlegen“:
    Private Sub Worksheet_Activate()
       MsgBox ("Activate gefunden")
       Call InitAuftrAnlegen
    End Sub
  4. Überprüfe die InitAuftrAnlegen-Prozedur im Modul1, um sicherzustellen, dass sie korrekt funktioniert.
  5. Aktiviere die Tabelle „Auftrag anlegen“ durch die Schaltfläche in der Tabelle „Navigation“ und beobachte, ob die Worksheet_Activate()-Prozedur ausgeführt wird.

Häufige Fehler und Lösungen

  • Fehler: Worksheet_Activate() wird nicht ausgeführt

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Manchmal hilft ein Neustart von Excel, um das Problem zu beheben.
  • Fehler: Kein Fehler angezeigt, aber die Prozedur wird nicht ausgeführt

    • Lösung: Setze einen Haltepunkt in der Prozedur, um zu prüfen, ob der Code erreicht wird.
  • Fehler: Prozedur funktioniert im Debugger, aber nicht beim normalen Ausführen

    • Lösung: Teste das Programm mit einem Change-Ereignis als Alternative zur Worksheet_Activate()-Prozedur.

Alternative Methoden

Falls die Worksheet_Activate()-Prozedur nicht die gewünschten Ergebnisse liefert, kannst du folgende alternative Methoden ausprobieren:

  • Verwenden von Worksheet_Change(): Diese Methode kann sinnvoll sein, wenn du auf Änderungen in Zellen reagieren möchtest.

    Private Sub Worksheet_Change(ByVal Target As Range)
      MsgBox ("Änderung erkannt!")
      Call InitAuftrAnlegen
    End Sub
  • Verwenden von Workbook_SheetActivate() in der ThisWorkbook-Objekt:

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      If Sh.Name = "Auftrag anlegen" Then
          MsgBox ("Tabelle aktiviert: Auftrag anlegen")
          Call InitAuftrAnlegen
      End If
    End Sub

Praktische Beispiele

Hier sind einige Beispiele für die Nutzung der worksheet_activate-Prozedur in verschiedenen Szenarien:

  1. Beispiel für eine einfache Aktivierung:

    Private Sub Worksheet_Activate()
       MsgBox ("Willkommen auf der Auftrag anlegen-Tabelle!")
    End Sub
  2. Beispiel mit Dateninitialisierung:

    Private Sub Worksheet_Activate()
       Call InitAuftrAnlegen
       Range("A1").Value = "Daten wurden zurückgesetzt"
    End Sub
  3. Beispiel für das Ausblenden von Zellen:

    Private Sub Worksheet_Activate()
       Rows("2:10").EntireRow.Hidden = False
    End Sub

Tipps für Profis

  • Verwende Debugging-Tools: Nutze Haltepunkte und die Überwachungsfenster, um den Fluss deines Codes zu verstehen.
  • Dokumentiere deinen Code: Füge Kommentare hinzu, um die Funktionsweise deiner worksheet_activate-Prozeduren zu erklären.
  • Teste regelmäßig: Überprüfe deine Prozeduren in verschiedenen Szenarien, um sicherzustellen, dass sie unter allen Bedingungen funktionieren.

FAQ: Häufige Fragen

1. Warum wird Worksheet_Activate() manchmal nicht aufgerufen? Manchmal kann es an deaktivierten Makros oder einem Problem mit der Excel-Installation liegen. Ein Neustart von Excel kann oft helfen.

2. Wie kann ich sicherstellen, dass mein Code fehlerfrei ist? Verwende den Debugger, um den Code Schritt für Schritt zu überprüfen. Achte darauf, dass alle Prozeduren korrekt aufgerufen werden.

3. Welche Excel-Version benötige ich für VBA? VBA ist in den meisten modernen Excel-Versionen verfügbar, darunter Excel 2010, 2013, 2016 und 365. Achte darauf, dass du die Entwicklertools aktivierst, um Makros zu verwenden.

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