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

Forumthread: Auto_Open

Auto_Open
26.08.2002 08:18:32
Andreas
Hi,
es treibt mich zur Verzweiflung...Bitte helft :-(
Ich öffne eine Arbeitsmappe mit VBA (Workbooks("...").Open). In dieser AM befinden sich Anweisungen im Open-Makro, welches einfach ignoriert wird.
Was kann ich bloß tun, damit, wie beim Öffnen mit Hand, die Anweisungen ausgeführt werden?
Die Anweisung nach Workbooks.Open RunAutoMacros xlOpen funktioniert auch nicht.
Kann mir jemand helfen?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Auto_Open
26.08.2002 08:34:35
Michael Wendeler
Hallo,

du mußt das Makro, was gestartet werden soll, wenn die Datei geöffnet wird im VBA Editor unter "Diese Arbeitsmappe" setzen und es muß wie folgt beginnen:

Gruß
M. Wendeler
http://www.wendelers.de


Re: Auto_Open
26.08.2002 09:06:09
Andreas
Danke!
Mittlerweile habe ich mitbekommen, dass nicht alle Anweisungen ausgeführt werden, wenn die Auto-Open-Anweisung noch nicht abgeschlossen ist; denn Msgbox "..." funktioniert z.B. - Einstellungen im Page-Setup z.B. nicht.
Anzeige
Re: Auto_Open
26.08.2002 09:23:01
Charlie
Hallo Andreas,
Workbook_Open-Makros im Modul "DieseArbeitsmappe" sollten ohne weiteres Zutun beim Öffnen der Datei gestartet werden.

Wenn die zu öffnende Datei Auto_Open-Makros enthält, dann musst Du die Ausführung dieser Makros ankicken:

Das funktioniert allerdings auch nur, wenn sich die Sub "Auto_Open()" in einem Standard-Modul befindet. Ein Auto_Open-Makro wird selbst durch ...RunAutoMacros dann nicht ausgeführt, wenn sie sich in einem "normalen" Klassenmodul, im Klassenmodul "DieseArbeitsmappe" oder in einem Klassenmodul einer Tabelle befindet.

Viel Erfolg,
Charlie

Anzeige
Re: Auto_Open
26.08.2002 09:43:23
Andreas
Charlie,
danke auch für deine Hilfe - ich probiere es mal
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Auto_Open in Excel VBA: So funktioniert's


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das richtige Modul: Stelle sicher, dass Du das Makro in einem Standard-Modul erstellst. Klicke dazu im Projektfenster auf "Einfügen" und dann auf "Modul".

  3. Erstelle das Auto_Open Makro: Füge folgenden Code in das Modul ein:

    Sub Auto_Open()
       ' Deine Anweisungen hier
       MsgBox "Das Auto_Open Makro wurde gestartet!"
    End Sub
  4. Schließe den VBA-Editor: Speichere Deine Änderungen und schließe den Editor.

  5. Teste das Makro: Schließe die Arbeitsmappe und öffne sie erneut, um zu überprüfen, ob das Makro automatisch ausgeführt wird.


Häufige Fehler und Lösungen

  • Das Makro wird nicht ausgeführt: Stelle sicher, dass das Auto_Open Makro in einem Standard-Modul und nicht in einem Klassenmodul wie "DieseArbeitsmappe" ist.
  • Fehlende Berechtigungen: Überprüfe die Makrosicherheitseinstellungen unter Datei -> Optionen -> Trust Center -> Einstellungen für das Trust Center -> Makroeinstellungen und aktiviere die Ausführung von Makros.
  • Makro wird ignoriert: Verwende RunAutoMacros xlOpen nur, wenn das Makro in "DieseArbeitsmappe" ist. Bei einem Standard-Modul ist dies nicht nötig.

Alternative Methoden

Falls das Auto_Open Makro nicht die gewünschte Funktionalität hat, kannst Du alternativ das Workbook_Open Ereignis verwenden:

  1. Gehe zu "DieseArbeitsmappe" im VBA-Editor.
  2. Füge den folgenden Code hinzu:

    Private Sub Workbook_Open()
       MsgBox "Die Arbeitsmappe wurde geöffnet!"
    End Sub

Dies ist besonders nützlich, wenn Du spezifische Anweisungen beim Öffnen der Arbeitsmappe ausführen möchtest.


Praktische Beispiele

Ein einfaches Beispiel für das Auto_Open Makro könnte das Einrichten eines speziellen Formats für eine Tabelle sein:

Sub Auto_Open()
    With Sheets("Tabelle1").Range("A1:B10")
        .Interior.Color = RGB(255, 255, 0) ' Gelber Hintergrund
        .Font.Bold = True ' Fettdruck
    End With
End Sub

Dieses Makro formatiert die Zellen A1 bis B10 auf "Tabelle1" mit einem gelben Hintergrund und fetter Schrift.


Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next, um sicherzustellen, dass Dein Makro auch bei Fehlern weiterläuft.
  • Protokollierung: Füge eine Protokollierung hinzu, um den Verlauf Deiner Makros zu überprüfen. Dies kann hilfreich sein, um Fehler schneller zu identifizieren.
  • Sicherheit: Achte darauf, dass Deine Makros nicht schadhafter Natur sind. Vermeide die Verwendung von Makros aus unbekannten Quellen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Auto_Open und Workbook_Open?
Auto_Open wird beim Öffnen der Arbeitsmappe ausgeführt, wenn es in einem Standard-Modul definiert ist. Workbook_Open ist ein Ereignis, das automatisch ausgeführt wird, wenn die Arbeitsmappe geöffnet wird und sich im "DieseArbeitsmappe"-Modul befindet.

2. Warum wird das Makro nicht ausgeführt, wenn ich die Datei öffne?
Überprüfe, ob die Makros in den Excel-Einstellungen aktiviert sind und ob das Makro im richtigen Modul gespeichert ist.

3. Kann ich Auto_Open mit Bedingungen kombinieren?
Ja, Du kannst Bedingungen in Dein Auto_Open Makro einfügen, um zu steuern, wann bestimmte Anweisungen ausgeführt werden.

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