Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro ausführen wenn die Datei geöffnet wird

Forumthread: Makro ausführen wenn die Datei geöffnet wird

Makro ausführen wenn die Datei geöffnet wird
28.02.2008 01:13:22
Gesa
Hallo,
möchte gerne, dass er nachfolgendes Makro beim Öffnen der Datei "TEST" ausführt:

Private Sub Workbook_Activate()
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled =  _
False
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = _
False
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = False
End Sub


Wenn die Datei geschlossen wird, soll dieses Makro ausgeführt werden:


Private Sub Workbook_Deactivate()
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled =  _
True
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = _
True
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = True
End Sub


Gibt es dafür eine Lösung?
Für Hilfe bin ich wie immer :-) sehr dankbar (was würde ich bloß ohne das Forum machen..
Schöne Grüße
Gesa S.

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen wenn die Datei geöffnet wird
28.02.2008 01:25:00
Daniel
Hi
du musst den MakroCode noch in die Makros
Workbook_Open() und Workbook_BeforeClose im Modul "DieseArbeitsmappe" einfügen.
entweder du kopierst den Inhalt, oder rufst das Makro auf:
Private Sup Workbook_Open
Call Workbook_Activate
End Sub


Noch besser wärs, du schreibst das Ein- und Ausschalten der Commandbars als eigenes Makro und rufst dann von den 4 Events immer nur das passende Mako auf:


Private Sub CMB_aus()
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled =   _
_
False
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = _
_
False
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = False
End Sub



Private Sub CMB_ein()
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled =   _
_
True
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = _
_
True
Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = True
End Sub



Private Sub Workbook_Open()
CMD_aus
End Sub



Private Sub Workbook_Activate()
CMD_aus
End Sub



Private Sub Workbook_beforeClose()
CMD_ein
End Sub



Private Sub Workbook_DeActivate()
CMD_ein
End Sub


Gruß, Daniel

Anzeige
AW: Makro ausführen wenn die Datei geöffnet wird
28.02.2008 01:40:13
Gesa
Hallo,
erst mal ein großes danke . Auch wenn es jetzt peinlich wird :-(
wie bekomme ich ein Makro in das Modul "diese Arbeitsmappe"?
Sorry..
Ist ja auch schon spät..
Schöne Grüße
Gesa S.

AW: Makro ausführen wenn die Datei geöffnet wird
28.02.2008 01:49:00
Daniel
Ähm genauso wie du die anderen beiden Makros, die du schon hast, da reingebracht hast.
- im Projektexplorer "DieseArbeitsmappe" doppeltklicken
- in der Linken combobox "Workbook" auswählen
- in der rechten Combobox das entsprechende Event auswählen und dann den Code reinschreiben.
aber wie gesagt, für die Makros Workbook_Activate und Workbook_Deactivate hast du das ja schon und müsstest das eigentlich wissen.
Gruß, Daniel

Anzeige
AW: Makro ausführen wenn die Datei geöffnet wird
28.02.2008 02:26:00
Gesa
:-(
Sorry.. ich glaub ich mach jetzt Feierabend....hast ja recht..
Vielen Dank.. morgen kann ich glaube ich wieder logisch denken :-)
Gute Nacht
Gesa S.

AW: Makro ausführen wenn die Datei geöffnet wird
28.02.2008 01:28:43
Matthias
Hallo
Probier es mal so, Deinen Code in DieseArbeitsmappe

Option Explicit
Private Sub Workbook_Open()
... Dein Code
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
... Dein Code
End Sub


Anzeige
;

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

Infobox / Tutorial

Makro ausführen beim Öffnen einer Excel-Datei


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro auszuführen, wenn die Datei geöffnet wird, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Navigiere zum Modul "DieseArbeitsmappe":

    • Im Projektexplorer (linke Seite) doppelklicke auf "DieseArbeitsmappe".
  3. Füge die Makros ein:

    • Kopiere den folgenden Code in das Modul:
    Private Sub Workbook_Open()
       Call CMD_aus
    End Sub
    
    Private Sub Workbook_BeforeClose()
       Call CMD_ein
    End Sub
    
    Private Sub Workbook_Activate()
       Call CMD_aus
    End Sub
    
    Private Sub Workbook_Deactivate()
       Call CMD_ein
    End Sub
    
    Private Sub CMD_aus()
       Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled = False
       Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = False
       Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = False
    End Sub
    
    Private Sub CMD_ein()
       Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Schutz").Enabled = True
       Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Drucken...").Visible = True
       Application.CommandBars("Worksheet Menu Bar").Controls("Ansicht").Visible = True
    End Sub
  4. Speichern und schließen:

    • Speichere die Datei als Makro-aktivierte Arbeitsmappe (*.xlsm) und schließe den VBA-Editor.

Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt:

    • Stelle sicher, dass die Datei als *.xlsm gespeichert ist und die Makros aktiviert sind.
  • Fehler: Code wird nicht gefunden:

    • Überprüfe, ob du den Code im richtigen Modul "DieseArbeitsmappe" eingefügt hast.
  • Fehler: Kein Zugriff auf die CommandBars:

    • Möglicherweise ist eine Sicherheitsrichtlinie aktiv. Überprüfe die Excel-Optionen unter "Trust Center".

Alternative Methoden

Eine andere Möglichkeit, ein Makro automatisch auszuführen, besteht darin, das Ereignis Workbook_Open() in einem Standardmodul zu verwenden:

  1. Erstelle ein neues Modul:

    • Im VBA-Editor, klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".
  2. Füge den Code ein:

    Sub AutomatischesMakro()
       ' Dein Code hier
    End Sub
  3. Rufe das Makro im Workbook_Open() auf:

    Private Sub Workbook_Open()
       Call AutomatischesMakro
    End Sub

Praktische Beispiele

Ein einfaches Beispiel für das Ausführen eines Makros beim Öffnen der Datei könnte so aussehen:

Private Sub Workbook_Open()
    MsgBox "Willkommen in der Datei!"
End Sub

Dieses Makro zeigt eine Begrüßungsnachricht an, wenn die Datei geöffnet wird. Es ist eine einfache Möglichkeit, um sicherzustellen, dass das Makro korrekt ausgeführt wird.


Tipps für Profis

  • Verwende die Option Explicit Anweisung am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.

  • Teste deine Makros in einer Kopie der Datei, um unerwünschte Änderungen zu vermeiden.

  • Dokumentiere deinen Code mit Kommentaren, um die Nachvollziehbarkeit zu erhöhen.


FAQ: Häufige Fragen

1. Wie füge ich ein Makro in "DieseArbeitsmappe" ein? Du kannst das Makro in "DieseArbeitsmappe" einfügen, indem du im Projektexplorer darauf doppelklickst und den gewünschten Code in das sich öffnende Fenster einfügst.

2. Was sind CommandBars? CommandBars sind die Menüs und Symbolleisten in Excel. Du kannst deren Sichtbarkeit und Funktionalität über VBA steuern.

3. Wie aktiviere ich Makros in Excel? Aktiviere Makros in Excel über "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" > "Makroeinstellungen". Wähle die Option, die es dir erlaubt, Makros zu aktivieren.

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