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

Private Sub Worksheet_Activate() VBA

Forumthread: Private Sub Worksheet_Activate() VBA

Private Sub Worksheet_Activate() VBA
17.06.2006 18:04:24
Peter
Hallo
habe in einem Tab den volgenden Code stehen.

Private Sub Worksheet_Activate()
LA06
End Sub

Hiermit wird das Makro LA06 beim öffnen des Tabs gestartet, dachte ich jedenfalls.Geht aber nicht.
Das Makro startet in der VBA Umgebung einwandfrei (F8)(Spezialfilter).
Hat jemand einen Tip, woran das liegen könnte? Würde mich freuen.
Mfg. Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Private Sub Worksheet_Activate() VBA
17.06.2006 18:08:05
Cardexperte
Hallo, steht dieses Makro wirklich im worksheetereignis, im Reiter oben muss worksheet stehen! und schreib mal vor la06 ein load davor.
Gruss WS
AW: Private Sub Worksheet_Activate() VBA
17.06.2006 18:41:36
Peter
Hallo Cardexperte
vielen Dank für Deine Rückmeldung.
worksheet steht oben links drin, Activate auf der rechten seite.
load bringt eine fehlermeldung Sub oder Funktion nicht difiniert.
Mfg Peter
Anzeige
AW: Private Sub Worksheet_Activate() VBA
17.06.2006 22:24:28
Cardexperte
Hallo,
na dann hast du doch den Fehler, es existiert dein Makro mit dem Namen la06 eben nicht!
Gruss WS
Vielen Dank natürlich auch an Cardexperte
18.06.2006 18:58:52
Peter
..
AW: Private Sub Worksheet_Activate() VBA
17.06.2006 23:25:51
Erich
Hallo Peter,
wenn LA06 bei diesem Aufruf nicht gefunden wird, steht dieses Makro vermutlich im Klassenmodul
eines anderen Tabellenblatts oder der Arbeitsmappe. Oder ist LA06 vielleicht als Private deklariert?
Wenn LA06 in einem allgemeinen Modul (etwa in "Modul1") und nicht privat ist,
wird es auch gefunden und aufgerufen.
LA06 existiert ja irgendwo, du kannst es ja im VBA-Editor starten.
Was meinst du in dem Zusammenhang mit (F8)(Spezialfilter) ?
Ob alle Codes einer Mappe überhaupt lauffähig sind, kannst du schon im VBA-Editor mit
Debuggen - Kompilieren von ...
testen, das ist einfacher als erst zur Laufzeit.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
vielen Dank an Erich
18.06.2006 18:57:22
Peter
..
Danke für Rückmeldung ...
18.06.2006 19:31:38
Erich
Hallo Peter,
... aber es wär doch auch interessant, Ursache und Lösung des Problems zu erfahren.
Einen schönen Restsonntag wünscht
Erich aus Kamp-Lintfort
AW: Danke für Rückmeldung ...
18.06.2006 19:46:57
Peter
Hallo Erich
hast natürlich Recht.
Habe die Mappe NEU geschrieben, und immer wieder überprüft ob der Fehler wieder auftritt.
Waren ja nur wieder 8 Std. arbeit, aber bis jetzt gehts.
Vielen Dank nochmal für deine Hilfe.
schönen Sonntagabend wünscht Dir Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Private Sub Worksheet_Activate: So funktioniert's in Excel VBA


Schritt-für-Schritt-Anleitung

Um das Private Sub Worksheet_Activate in Excel VBA zu nutzen, folge diesen Schritten:

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Wähle im linken Fenster das entsprechende Arbeitsblatt aus.

  3. Klicke auf das Dropdown-Menü "Allgemein" und wähle "Worksheet".

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Activate()
        Call LA06
    End Sub
  5. Stelle sicher, dass das Makro LA06 im gleichen Arbeitsblatt oder in einem allgemeinen Modul definiert ist und nicht als Private deklariert wurde.


Häufige Fehler und Lösungen

Beim Arbeiten mit private sub worksheet_activate() können folgende Fehler auftreten:

  • Fehlermeldung: Sub oder Funktion nicht definiert
    Lösung: Überprüfe, ob das Makro LA06 existiert und korrekt benannt ist. Es darf nicht als Private deklariert sein.

  • Das Makro wird nicht ausgeführt
    Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblattmodul steht. Der Header sollte Worksheet sein.


Alternative Methoden

Wenn das Private Sub Worksheet_Activate nicht die gewünschten Ergebnisse liefert, kannst du folgende Alternativen ausprobieren:

  • Workbook_Open: Du kannst Private Sub Workbook_Open verwenden, um Makros beim Öffnen der Arbeitsmappe auszuführen.
  • Worksheet_Deactivate: Mit Private Sub Worksheet_Deactivate kannst du Aktionen definieren, die ausgeführt werden, wenn das Arbeitsblatt verlassen wird.

Praktische Beispiele

Hier sind einige praktische Beispiele für die Nutzung von private sub worksheet_activate():

  1. Einfaches Makro ausführen:

    Private Sub Worksheet_Activate()
        MsgBox "Willkommen auf diesem Arbeitsblatt!"
    End Sub
  2. Daten aktualisieren bei Aktivierung:

    Private Sub Worksheet_Activate()
        Call UpdateData
    End Sub
  3. Öffnen eines Formulars:

    Private Sub Worksheet_Activate()
        UserForm1.Show
    End Sub

Tipps für Profis

  • Verwende Debug.Print, um den Status von Variablen während der Ausführung zu überwachen.
  • Teste deinen Code regelmäßig mit F8, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Nutze Error Handling, um unerwartete Fehler abzufangen und zu behandeln.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Private Sub und Public Sub?
Private Sub ist nur innerhalb des entsprechenden Moduls verfügbar, während Public Sub von anderen Modulen aufgerufen werden kann.

2. Warum funktioniert mein Makro nicht, wenn ich es im Arbeitsblatt aktiviere?
Überprüfe, ob das aufgerufene Makro im richtigen Modul definiert ist und ob der Name korrekt geschrieben ist. Der Code muss auch im richtigen Arbeitsblattmodul stehen.

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