Wenn Sie hier sind, möchten Sie wahrscheinlich lernen, wie Sie jedes Mal, wenn eine Änderung in einem bestimmten Blatt vorgenommen wird, ein Unterprogramm ausführen. Dieser Artikel wird genau das lehren. Also lasst uns anfangen.
Die Syntax für den Worksheet Change Event Handler lautet:
Private Sub worksheet_change(ByVal Target As Range) 'Ihr Code' 'End Sub
Dieser Code muss in ein Arbeitsblattobjekt geschrieben werden, um zu funktionieren, nicht in ein normales Modul.
Private Sub worksheet_change(ByVal Target As Range) Msgbox "Sie haben etwas in diesem Blatt aktualisiert" End Sub
Wenn Sie diesen Code auf Blatt1 haben und etwas in Blatt1 schreiben oder löschen, erscheint die Meldung "Sie haben etwas in diesem Blatt aktualisiert".
In normalen Modulen funktioniert es nicht. Aber Sie können Subroutinen von jedem Modul aus aufrufen. Das werden wir auch in dieser Sitzung tun.
Szenario:
Führen Sie ein Excel-Makro aus, wenn eine Änderung am Arbeitsblatt vorgenommen wird
Nehmen wir an, wir haben ein Makro, das die Farbe von Zellen basierend auf einer bestimmten Bedingung ändert. Genau wie die bedingte Formatierung von Excel. Der einzige Unterschied besteht darin, dass sich die Farbe der Zellen ändert, wenn wir diesen VBA-Code mit einer Schaltfläche oder einem Befehl ausführen, und nicht, wenn sich die Werte ändern. Wir möchten, dass das Makro immer dann ausgeführt wird, wenn eine Änderung im Blatt vorgenommen wird. Hier helfen VBA Events. Um dies zu tun, verwenden wir nun das Arbeitsblattänderungsereignis.
Folge diesen Schritten:
- Gehen Sie zum Projekt-Explorer und doppelklicken Sie auf das Blatt, auf dem Sie das Ereignis worksheet.change auslösen möchten. Ich möchte das Ereignis auslösen, wenn einige Änderungen an Sheet2 vorgenommen wurden, also doppelklicke ich auf Sheet2. Sie können auch mit der rechten Maustaste klicken und auf den Ansichtscode klicken, um den Codeschreibbereich für Blattobjekte zu öffnen. Schreiben Sie diese Codezeile in den Codebereich.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
worksheet_change(Target as Range) ist eine beibehaltene Unterroutine, die ausgeführt wird, wenn eine Änderung am Code enthaltenden Blatt vorgenommen wird.
Wenn Sie diesen Code schreiben, sehen Sie, wie sich das Objekt in das Arbeitsblatt ändert. Siehe das Dropdown-Menü oben links. In der Dropdown-Liste oben rechts ist das Ereignis "Änderung".
Wenn Sie die Dropdown-Liste verwenden und das Arbeitsblatt in der linken Dropdown-Liste auswählen, werden alle verfügbaren Ereignisse in der rechten Dropdown-Liste angezeigt. Welches Dropdown-Menü Sie auch auswählen, der Code für dieses Ereignis wird automatisch geschrieben. Sie müssen es nur mit Ihren benutzerdefinierten Unterprogrammen füllen. - Fügen Sie jetzt einfach Ihren Code in dieses Segment ein. Ich möchte meine Unterroutine aufrufen, die sich in einem Modul befindet. Also rufe ich diese Unterroutine einfach in diesem Arbeitsblatt-Ereignishandler auf. Meine Unterroutine ist FormatUsingVBA() in Module1
Private Sub worksheet_change(ByVal Target As Range) Call FormatUsingVBA End Sub
Wann immer wir nun eine Änderung in Sheet2 vornehmen, wird das Makro FromatUsingVBA ausgeführt.
Also ja, Leute, so kann man ein VBA-Skript ausführen, wenn ein Blatt seinen Inhalt ändert, indem man den Worksheet Change Event-Handler verwendet. Ich hoffe, es war hilfreich. Wenn Sie Fragen zu diesem Ereignishandler haben, erwähnen Sie dies im Kommentarbereich.
Einfachster VBA-Code zum Hervorheben der aktuellen Zeile und Spalte mit| Verwenden Sie dieses kleine VBA-Snippet, um die aktuelle Zeile und Spalte des Blatts hervorzuheben.
Die Arbeitsblattereignisse in Excel VBA| Das Arbeitsblattereignis ist wirklich nützlich, wenn Sie möchten, dass Ihre Makros ausgeführt werden, wenn ein bestimmtes Ereignis auf dem Blatt auftritt.
Makro ausführen, wenn eine Änderung am Blatt im angegebenen Bereich vorgenommen wurde| Verwenden Sie diesen VBA-Code, um Ihren Makrocode auszuführen, wenn sich der Wert in einem angegebenen Bereich ändert. Es erkennt jede Änderung im angegebenen Bereich und löst das Ereignis aus.
Populäre Artikel:
50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.
Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.
ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.
So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.