Wie verwende ich das Activate-, Deactivate-Ereignis in VBA?

In VBA (Visual Basic for Applications) werden die Ereignisse `Activate` und `Deactivate` häufig verwendet, um Aktionen auszuführen, wenn ein Objekt wie ein Formular, ein Arbeitsblatt oder eine Arbeitsmappe aktiviert oder deaktiviert wird. Hier sind grundlegende Anleitungen und Beispiele zur Verwendung dieser Ereignisse:

Für Arbeitsblätter

Activate-Ereignis: Wird ausgelöst, wenn ein Arbeitsblatt aktiviert wird.

Private Sub Worksheet_Activate()
    MsgBox "Das Arbeitsblatt wurde aktiviert."
End Sub

Deactivate-Ereignis: Wird ausgelöst, wenn ein Arbeitsblatt deaktiviert wird.

Private Sub Worksheet_Deactivate()
    MsgBox "Das Arbeitsblatt wurde deaktiviert."
End Sub

Diese Ereignisse müssen im Codefenster des betreffenden Arbeitsblatts eingefügt werden. Öffnen Sie das VBA-Editor-Fenster, wählen Sie das Arbeitsblatt im Projekt-Explorer und fügen Sie den Code in das Codefenster ein.

Für Arbeitsmappen

Activate-Ereignis: Wird ausgelöst, wenn eine Arbeitsmappe aktiviert wird.

Private Sub Workbook_Activate()
    MsgBox "Die Arbeitsmappe wurde aktiviert."
End Sub

Deactivate-Ereignis: Wird ausgelöst, wenn eine Arbeitsmappe deaktiviert wird.

Private Sub Workbook_Deactivate()
    MsgBox "Die Arbeitsmappe wurde deaktiviert."
End Sub

Diese Ereignisse müssen im Codefenster der `ThisWorkbook`-Objekte eingefügt werden. Im VBA-Editor öffnen Sie `ThisWorkbook` im Projekt-Explorer und schreiben den Code in das entsprechende Codefenster.

Für Benutzerformulare

Wenn Sie ein Benutzerformular verwenden, können Sie ebenfalls auf `Activate` und `Deactivate` reagieren:

Private Sub UserForm_Activate()
    MsgBox "Das Benutzerformular wurde aktiviert."
End Sub

Private Sub UserForm_Deactivate()
    MsgBox "Das Benutzerformular wurde deaktiviert."
End Sub

Diese Ereignisse werden im Codefenster des Benutzerformulars definiert. Öffnen Sie das Benutzerformular im VBA-Editor und wählen Sie oben im Codefenster die gewünschten Ereignisse aus.

Tipps

  • Stellen Sie sicher, dass die Reihenfolge der Ereignisse berücksichtigt wird. Beispielsweise wird `Deactivate` für das aktuelle Blatt aufgerufen, bevor `Activate` für das neue Blatt aufgerufen wird.
  • Seien Sie vorsichtig mit Code, der viel Zeit in Anspruch nimmt oder interaktive Benutzeraktionen erfordert, da dies die Benutzererfahrung beeinträchtigen könnte.
  • Vermeiden Sie es, während dieser Ereignisse Arbeitsmappen oder Arbeitsblätter zu wechseln, da dies zu unerwünschten Ereigniskaskaden führen kann.

Diese Anleitungen sollten Ihnen helfen, das `Activate`- und `Deactivate`-Ereignis in Ihren VBA-Projekten effektiv zu nutzen.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project