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

Forumthread: Workbook_Open() funktioniert nicht

Workbook_Open() funktioniert nicht
13.08.2004 10:11:01
Stephan
Hallo Zusammen,
ich hab grade das Problem, dass das Ereignis Workbook_open wohl nicht erfolgt. Leider lässt sich in der Sub schlecht debuggen (oder gibt's da einen Trick?). Der Code an sich, wenn ich ihn später ausführen lasse, funktioniert. Aber eben nicht beim Öffnen der Datei. Ich habe meinen Code in dieser Sub nun schon auf ein Activate des ersten Tabellenblatts beschränkt, aber selbst das passiert nicht.
Hat jemand eine Idee, woran das liegen kann?
Gruß,
Stephan
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook_Open() funktioniert nicht
geri
Stephan
hast du Workbok open auch richtig eingefügt
in "diese Arbeitsmappe" ?
speichern und File wieder öffnen
gruss geri
AW: Workbook_Open() funktioniert nicht
Stephan
Klar, das steht schon alles da, wo es hingehört. Workbook_BeforeClose und Workbook_SheetBeforeRightClick usw. funktionieren auch einwandfrei. Nur das Open-Ereignis kommt eben irgendwie nicht.
Kann man das (aus Versehen) irgendwo abschalten?!
Gruß,
Stephan.
Anzeige
AW: Workbook_Open() funktioniert nicht
13.08.2004 10:41:26
Patrick
Due gehts in VB editor also ALT + F11 dann sieht du ja links den Projekt Explorer Da klickste doppelt auf arbeitsmappe und dann oben in der Combobox Allgemein steht gehste auf Workbook dan sollte das gehen
AW: Workbook_Open() funktioniert nicht
Stephan
Wie gesagt, das steht schon alles da, wo es hingehört und die anderen Ereignisse wie Workbook_BeforeClose und Workbook_SheetBeforeRightClick usw. funktionieren auch einwandfrei. Nur das Open-Ereignis kommt eben irgendwie nicht.
Gruß,
Stephan.
Anzeige
AW: Workbook_Open() funktioniert nicht
geri
Stephan
stell doch mal den Code rein, dann sieht man mehr
gruss geri
AW: Workbook_Open() funktioniert nicht
Stephan
Gerne. In "DieseArbeitsmappe" gibt es nachfolgende Subs. In Workbook_open stand mal deutlich mehr Code, aber inzwischen funzt nicht mal mehr ein MsgBox "Hallo" oder ähnliches.
Einziger Anhaltspunkt wäre noch, dass ich zwischenzeitlich über 800 Names definiert habe. Hat Excel damit vielleicht Schwierigkeiten beim Öffnen?

Private Sub Workbook_Open()
Worksheets("DB").Activate
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim tCBar As CommandBar
For Each tCBar In Application.CommandBars
If Not tCBar.BuiltIn Then
tCBar.Delete
End If
Next tCBar
End Sub


Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean)
Cancel = True
End Sub

Anzeige
AW: Workbook_Open() funktioniert nicht
geri
Hallo Stephan
also Code läuft, sehe keinen Fehler getestet mit XP
hast du schon mal versucht, dies in einem neuen File
laufen zu lasen ?
gruss geri
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Workbook_Open() funktioniert nicht – So behebst du das Problem


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic-Editor: Drücke ALT + F11, um den Editor zu starten.

  2. Navigiere zum Projekt-Explorer: Suche links im Fenster den Projekt-Explorer und klicke doppelt auf Diese Arbeitsmappe.

  3. Füge den Code ein: Stelle sicher, dass dein Code wie folgt aussieht:

    Private Sub Workbook_Open()
       Worksheets("DB").Activate
    End Sub
  4. Speichere deine Änderungen: Speichere die Datei und schließe den Editor.

  5. Teste das Workbook: Schließe die Arbeitsmappe und öffne sie erneut, um zu sehen, ob das Workbook_Open()-Ereignis jetzt funktioniert.


Häufige Fehler und Lösungen

  • Ereignis wird nicht ausgelöst: Stelle sicher, dass der Code in Diese Arbeitsmappe eingefügt ist. Wenn du den Code in einem Modul platziert hast, wird das Workbook_Open()-Ereignis nicht ausgeführt.

  • Fehlende Berechtigung: Überprüfe, ob in den Excel-Optionen Makros deaktiviert sind. Aktiviere die Makros, um zu gewährleisten, dass der Code ausgeführt wird.

  • Unzureichender Code: Wenn dein Private Sub Workbook_Open()-Code nicht funktioniert, teste zunächst mit einer einfachen MessageBox:

    Private Sub Workbook_Open()
       MsgBox "Hallo"
    End Sub

Wenn diese funktioniert, liegt möglicherweise ein Problem mit dem ursprünglichen Code vor.


Alternative Methoden

  • Neues Workbook erstellen: Manchmal kann das Problem durch eine beschädigte Arbeitsmappe verursacht werden. Erstelle ein neues Workbook und kopiere den Code dort hinein, um zu testen, ob das Problem weiterhin besteht.

  • VBA-Projekt neu kompilieren: Gehe im VBA-Editor zu Debug > Kompilieren und behebe eventuelle Fehler.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung des Workbook_Open()-Ereignisses:

Private Sub Workbook_Open()
    MsgBox "Willkommen in der Arbeitsmappe!"
    Worksheets("DB").Activate
End Sub

Das obige Beispiel zeigt eine Begrüßungsnachricht, wenn die Arbeitsmappe geöffnet wird und aktiviert gleichzeitig das Arbeitsblatt "DB".


Tipps für Profis

  • Debugging-Optionen nutzen: Wenn du Probleme beim Debuggen hast, kannst du Breakpoints setzen, indem du auf die linke Leiste im Codefenster klickst. So kannst du den Code Schritt für Schritt durchgehen.

  • Verwendung von Workbook_Open in Verbindung mit anderen Ereignissen: Kombiniere Workbook_Open mit anderen Subroutinen wie Workbook_BeforeClose, um die Funktionalität deiner Arbeitsmappe zu erweitern.

  • Leistungsoptimierung: Wenn deine Arbeitsmappe viele Namen definiert hat, kann dies die Ladezeiten beeinflussen. Überprüfe, ob alle definierten Namen benötigt werden.


FAQ: Häufige Fragen

1. Warum wird mein Workbook_Open()-Ereignis nicht ausgeführt?
Das Ereignis wird möglicherweise nicht ausgelöst, weil der Code nicht im richtigen Modul (Diese Arbeitsmappe) platziert ist oder weil Makros in den Excel-Optionen deaktiviert sind.

2. Was kann ich tun, wenn der Code komplex ist?
Teste deinen Code schrittweise, indem du einfache Befehle wie MsgBox verwendest, um zu überprüfen, ob das Ereignis überhaupt ausgelöst wird.

3. Kann ich Workbook_Open in einer Excel-Version verwenden?
Ja, der Workbook_Open()-Ansatz funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und neuer.

4. Wie kann ich sicherstellen, dass der Code korrekt ist?
Führe den Code im Debugger aus und achte auf Fehler oder unerwartetes Verhalten. Das Setzen von Breakpoints kann dir helfen, den Fluss deines Codes zu verstehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige