Ereignisse in Excel

Der Begriff "Excel-Ereignis» wird verwendet, um bestimmte Aktionen anzuzeigen, die vom Benutzer in Excel ausgeführt werden. Wenn ein Benutzer beispielsweise ein Arbeitsmappenblatt wechselt, ist dies ein Ereignis. Das Eingeben von Daten in eine Zelle oder das Speichern einer Arbeitsmappe sind ebenfalls Excel-Ereignisse.

Ereignisse können mit einem Excel-Arbeitsblatt, Diagrammen, einer Arbeitsmappe oder direkt mit der Excel-Anwendung selbst verknüpft werden. Programmierer können VBA-Code erstellen, der automatisch ausgeführt wird, wenn ein Ereignis eintritt.

Um beispielsweise jedes Mal ein Makro auszuführen, wenn der Benutzer ein Arbeitsblatt in einer Excel-Arbeitsmappe wechselt, würden Sie VBA-Code erstellen, der jedes Mal ausgeführt wird, wenn das Ereignis eintritt SheetActivate Arbeitsmappe.

Und wenn Sie möchten, dass das Makro jedes Mal ausgeführt wird, wenn Sie zu einem bestimmten Arbeitsblatt wechseln (z. Sheet1), muss der VBA-Code dem Ereignis zugeordnet werden Mehr erfahren für dieses Blatt.

Der zur Behandlung von Excel-Ereignissen vorgesehene VBA-Code muss im entsprechenden Arbeitsblatt- oder Arbeitsmappenobjekt im VBA-Editor-Fenster platziert werden (der Editor kann durch Klicken geöffnet werden Alt + F11). Beispielsweise sollte Code, der jedes Mal ausgeführt werden soll, wenn ein bestimmtes Ereignis auf Arbeitsblattebene eintritt, im Codefenster für dieses Arbeitsblatt platziert werden. Dies ist in der Abbildung dargestellt:

Im Visual Basic-Editor können Sie den Satz aller Excel-Ereignisse anzeigen, die auf Arbeitsmappen-, Arbeitsblatt- oder Diagrammebene verfügbar sind. Öffnen Sie das Codefenster für das ausgewählte Objekt und wählen Sie den Objekttyp aus dem linken Dropdown-Menü oben im Fenster aus. Das rechte Dropdown-Menü oben im Fenster zeigt die für dieses Objekt definierten Ereignisse. Die folgende Abbildung zeigt eine Liste von Ereignissen, die einem Excel-Arbeitsblatt zugeordnet sind:

Ereignisse in Excel

Klicken Sie im rechten Dropdown-Menü auf das gewünschte Ereignis, und eine Prozedur wird automatisch in das Codefenster für dieses Objekt eingefügt Sub. an der Spitze des Verfahrens Sub Excel fügt automatisch die erforderlichen Argumente (falls vorhanden) ein. Es bleibt nur noch, den VBA-Code hinzuzufügen, um zu bestimmen, welche Aktionen die Prozedur ausführen soll, wenn das gewünschte Ereignis erkannt wird.

Beispiel

Im folgenden Beispiel jedes Mal, wenn eine Zelle ausgewählt wird B1 auf dem Arbeitsblatt Sheet1 Ein Meldungsfeld wird angezeigt.

Um diese Aktion auszuführen, müssen wir das Arbeitsblattereignis verwenden Auswahl_Ändern, die jedes Mal auftritt, wenn sich die Auswahl einer Zelle oder eines Zellbereichs ändert. Funktion Auswahl_Ändern erhält als Argument Target Objekt -. So wissen wir, welcher Zellbereich ausgewählt wurde.

Event Auswahl_Ändern tritt bei jeder neuen Auswahl auf. Aber wir brauchen den Satz von Aktionen, die nur ausgeführt werden, wenn die Zelle ausgewählt ist B1. Dazu verfolgen wir das Ereignis nur im angegebenen Bereich Target. Wie es im unten gezeigten Programmcode implementiert ist:

'Code zum Anzeigen eines Meldungsfelds, wenn Zelle B1 ausgewählt ist 'auf dem aktuellen Arbeitsblatt. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Überprüfen Sie, ob Zelle B1 ausgewählt ist If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Wenn Zelle B1 ausgewählt ist, dann tun Sie die folgende MsgBox "Sie haben eine Zelle B1 ausgewählt" End If End Sub

Hinterlassen Sie uns einen Kommentar