VBA – Workbook_Open (ein Makro beim Starten von Excel ausführen)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Oktober 30, 2023

Müssen Sie beim Start von Excel ein Makro ausführen? Sie haben dazu zwei Möglichkeiten:

1. Eine Sub namens Workbook_Open() innerhalb von „ThisWorkbook“ erstellen.

2. Eine Sub namens Auto_Open() in einem beliebigen Modul platzieren.

Das Ereignis Workbook_Open

Eine Sub mit dem Titel „Workbook_Open“ innerhalb von ‚ThisWorkbook‘ erstellen

Workbook_Open()
    MsgBox "Dieser Code wurde beim Start von Excel ausgeführt!"
End Sub

Auto_Open

Die zweite Methode verwenden: Einfach eine Sub mit dem Namen Auto_Open erstellen und den Code darin platzieren, oder von dort aus eine andere Sub aufrufen. Ihr Code wird automatisch ausgeführt, wenn Excel startet.

Private Sub Auto_Open()
    MsgBox "Dieser Code wurde beim Start von Excel ausgeführt!"
End Sub

Jedes Mal, wenn Excel geöffnet wird, ein neues Arbeitsblatt erstellen und benennen

Der folgende Code funktioniert beim Öffnen einer Arbeitsmappe. Er fügt ein neues Blatt automatisch hinzu und benennt es mit dem Datum. Er prüft auch, ob das Blatt nicht bereits existiert, um die Möglichkeit zu berücksichtigen, dass es mehr als einmal am Tag geöffnet wird.

Dieser Code nutzt das Ereignis „Workbook_Open“ und muss im Arbeitsmappenmodul unter „Workbook_Open“ platziert werden. Die Funktion Blatt_Existiert muss in einem Modul platziert werden und prüft, ob das Blatt existiert oder nicht:

Private Sub Workbook_Open()

Dim Neuer_BlattName As String

Neuer_BlattName = Format(Now(), "dd-mm-yy")

If Blatt_Existiert(Neuer_BlattName) = False Then
    With Workbook
        Worksheets.Add().Name = Neuer_BlattName
    End With
End If

Save
End Sub
Function Blatt_Existiert(BlattName As String) As Boolean

Dim ArbeitsBlatt As Worksheet

Blatt_Existiert = False

For Each ArbeitsBlatt In ThisWorkbook.Worksheets
      If ArbeitsBlatt.Name = BlattName Then
        Blatt_Existiert = True
    End If
   Next

End Function

Um die .XLSM-Datei für dieses Tutorial herunterzuladen, klicken Sie hier

Festlegen des Standardblatts beim Öffnen der Arbeitsmappe

Möchten Sie sicherstellen, dass ein Blatt immer zuerst angezeigt wird, wenn eine Arbeitsmappe geöffnet wird? Wenn Sie zum Beispiel eine Arbeitsmappe öffnen, ist Blatt3 immer das aktive Blatt. So geht’s.

Sie können ein Blatt in VBA über den Programmnamen (z. B. Blatt3) oder über den Namen der Registerkarte (z. B. JanData) ansprechen. Es ist am besten, den Programmnamen zu verwenden, denn Ihr VBA-Code, der sich auf einen Registerkartennamen bezieht, funktioniert nicht mehr, wenn sich der Name der Registerkarte ändert. Wenn Sie jedoch den Programmnamen verwenden, kann ein Benutzer den Registerkartennamen mehrmals ändern und Ihr Makro funktioniert trotzdem.

Um sicherzustellen, dass ein bestimmtes Blatt immer aktiviert wird, wenn eine Arbeitsmappe geöffnet wird, fügen Sie einfach den Code sheet.activate in die Sub Workbook_Open ein. In diesem Beispiel wird Blatt3 durch Verwendung des Programmnamens jedes Mal aktiviert, wenn eine Arbeitsmappe geöffnet wird.

Private Sub Workbook_Open()
Blatt3.Activate
End Sub

Und hier wird der Name der Registerkarte verwendet:

Private Sub Workbook_Open()

Sheets("meinRegisterkartenName").Activate
End Sub

Nebenbemerkung: Sie müssen Excel speichern und neu starten, damit dies funktioniert.

Nebenbemerkung: Dies funktioniert nur, wenn Makros aktiviert sind.

Nebenbemerkung: Fügen Sie diesen Code in das Codefenster für das ThisWorkbook-Objekt im VBE ein.

Formular bei jedem Öffnen der Arbeitsmappe laden

Wenn Sie ein Formular laden oder einen VBA-Code ausführen möchten, wenn Sie eine Excel-Arbeitsmappe öffnen, platzieren Sie Ihren Code im Codefenster ThisWorkbook und in der Sub Workbook_Open.

Von Ihrer Tabellenkalkulation aus:

1. Drücken Sie ALT und F11, um den VB-Editor zu öffnen

2. Doppelklicken Sie auf das Wort ThisWorkbook, um das Codefenster zu öffnen

3. Geben Sie den folgenden Code in das ThisWorkbook-Codefenster ein

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Nebenbemerkung: Ersetzen Sie Benutzerformular1 durch Ihren Formularnamen

4. Schließen Sie Excel und öffnen Sie es erneut.

formular bei excel start anzeigen

VBA-Codierung leicht gemacht

Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – einen VBA Code Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu codieren!

automacro uebersicht for each ws in worksheets

 

Mehr erfahren!


<<Zurück zu den VBA-Beispielen

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples