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

Private Sub Workbook_Open() funktioniert nicht...

Forumthread: Private Sub Workbook_Open() funktioniert nicht...

Private Sub Workbook_Open() funktioniert nicht...
12.11.2003 12:35:07
Marcel
Hallo,

bin blutiger Anfänger in VBA. Ich versuche ein Makro beim öffnen der Mappe auszuführen.
habe den Code der über die FAQ's zu finden ist eingetippt in das Modul1 meiner Arbeitsmappe, wo auch die weiteren Makros sind. Es funktioniert nicht.
Hab' ich's an die falsche Stelle geschrieben?
Hier das was ich eingetippt habe:

Sub StatistikProgramm()
MsgBox "Ich bin das Statistikprogramm"
End Sub



Private Sub Workbook_Open()
If MsgBox(prompt:=vbQuestion + vbYesNo) = vbYes Then Call StatistikProgramm
End If
End Sub


Danke für Hilfe, Marcel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Private Sub Workbook_Open() funktioniert nicht...
12.11.2003 12:46:39
Hajo_Zi
Hallo Marcel

Private Sub Workbook_Open() gehört nicht in ein Modul sonder in VBA unter DieseArbeitsmappe.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Private Sub Workbook_Open() funktioniert nicht...
12.11.2003 12:49:44
WernerB.
Hallo Marcel,

das Makro "StatisikProgramm" gehört in ein normales Standard-Modul (z.B. "Modul1").
Das Makro "Workbook_Open" hingegen gehört in das Modul von "DieseArbeitsmappe"; dieses Modul öffnet sich, wenn Du im VB-Editor auf der linken Seite im VBA-Projekt-Explorer einen Doppelklick auf "DieseArbeitsmappe" ausführst.

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
Danke - funktioniert!
12.11.2003 13:43:58
Marcel
Danke
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Private Sub Workbook_Open() richtig verwenden


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Navigiere zu „DieseArbeitsmappe“:

    • Im Projekt-Explorer auf der linken Seite findest du deine Arbeitsmappe. Doppelklicke auf „DieseArbeitsmappe“.
  3. Füge den Code für Private Sub Workbook_Open() ein:

    • Stelle sicher, dass du den folgenden Code in „DieseArbeitsmappe“ einfügst:
    Private Sub Workbook_Open()
       If MsgBox(prompt:=vbQuestion + vbYesNo) = vbYes Then
           Call StatistikProgramm
       End If
    End Sub
  4. Erstelle das Makro „StatistikProgramm“ im Standardmodul:

    • Füge den Code für das Makro in ein Standardmodul (z.B. Modul1) ein:
    Sub StatistikProgramm()
       MsgBox "Ich bin das Statistikprogramm"
    End Sub
  5. Speichere die Datei als Makro-fähige Arbeitsmappe:

    • Speichere die Datei im .xlsm Format, um sicherzustellen, dass die Makros funktionieren.

Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt:

    • Lösung: Überprüfe, ob der Code im richtigen Modul eingefügt wurde. Private Sub Workbook_Open() muss in „DieseArbeitsmappe“ stehen und nicht in einem Standardmodul.
  • Fehler: Fehlermeldung beim Öffnen der Datei:

    • Lösung: Stelle sicher, dass alle verwendeten Makros korrekt definiert sind. Fehlende oder falsch benannte Subroutinen führen zu Laufzeitfehlern.

Alternative Methoden

Wenn du Workbook_Open nicht verwenden möchtest, gibt es alternative Ansätze, um Makros beim Öffnen der Datei auszuführen:

  • Verwendung von Schaltflächen: Du kannst Makros durch Schaltflächen auf dem Arbeitsblatt triggern. Platziere eine Schaltfläche und weise ihr das gewünschte Makro zu.

  • Automatisierung durch Zeitgeber: Nutze den Application.OnTime Befehl, um Makros zu bestimmten Zeiten auszuführen, auch ohne das Workbook zu öffnen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du Workbook_Open nutzen kannst, um eine Begrüßungsnachricht anzuzeigen:

Private Sub Workbook_Open()
    MsgBox "Willkommen in meiner Arbeitsmappe!"
End Sub

Dieses Beispiel sorgt dafür, dass ein Begrüßungsdialog erscheint, wenn die Arbeitsmappe geöffnet wird.


Tipps für Profis

  • Debugging: Nutze die Debugging-Tools im VBA-Editor, um Fehler zu identifizieren. Setze Haltepunkte, um den Code Schritt für Schritt zu verfolgen.

  • Dokumentation: Halte deinen Code gut dokumentiert, um später leichter Änderungen vornehmen zu können.

  • Sicherheitsoptionen: Achte darauf, dass deine Excel-Sicherheitsoptionen Makros zulassen, um die Funktionalität deiner Workbook_Open Makros sicherzustellen.


FAQ: Häufige Fragen

1. Kann ich mehrere Makros im Workbook_Open ausführen?
Ja, du kannst mehrere Makros aufrufen, indem du sie nacheinander in der Workbook_Open Subroutine aufrufst, z.B.:

Private Sub Workbook_Open()
    Call StatistikProgramm
    Call EinAnderesMakro
End Sub

2. Was passiert, wenn ich den Code in ein Standardmodul einfüge?
Wenn du Private Sub Workbook_Open() in ein Standardmodul einfügst, wird der Code nicht beim Öffnen der Arbeitsmappe ausgeführt, da dieser spezifische Code dort nicht funktioniert. Er muss in „DieseArbeitsmappe“ 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