Wenn Sie hier sind, möchten Sie wahrscheinlich lernen, wie Sie jedes Mal eine Unterroutine ausführen, wenn eine Änderung an einem bestimmten Blatt vorgenommen wird. Dieser Artikel wird genau das lehren. Also lasst uns anfangen.

Die Syntax für den Arbeitsblatt-Änderungsereignishandler lautet:

Private Sub worksheet_change(ByVal Target As Range)

'your code

'

'

End Sub

Dieser Code muss in ein Arbeitsblattobjekt geschrieben werden, damit er funktioniert, nicht in ein normales Modul.

Private Sub worksheet_change(ByVal Target As Range)

Msgbox "You updated something in this sheet"

End Sub

Wenn Sie diesen Code auf Blatt1 haben und etwas in Blatt1 schreiben oder löschen, wird bei der Massage angezeigt, dass „Sie etwas in diesem Blatt aktualisiert haben“.

In normalen Modulen funktioniert es nicht. Sie können jedoch Unterprogramme von jedem Modul aus aufrufen. Wir werden das gleiche in dieser Sitzung tun.

image

Szenario:

RunExcel-Makro, wenn Änderungen am Arbeitsblatt vorgenommen werden

image

Nehmen wir also an, wir haben ein Makro, das die Farbe von Zellen basierend auf bestimmten Bedingungen ändert. Genau wie das bedingte Formatieren 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 ausführen, 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. Dazu verwenden wir jetzt das Arbeitsblattänderungsereignis.

Befolgen Sie diese Schritte:

  • Gehen Sie zum Projektexplorer 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 am Sheet2 vorgenommen wurden, also doppelklicke ich auf das Sheet2. Sie können auch mit der rechten Maustaste klicken und auf den Ansichtscode klicken, um den Code-Schreibbereich für Blattobjekte zu öffnen. Schreiben Sie im Codebereich diese Codezeile.

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

worksheet_change (Ziel als Bereich) ist eine beibehaltene Unterroutine, die ausgeführt wird, wenn eine Änderung am Code vorgenommen wird, der das Blatt enthält.

Wenn Sie diesen Code schreiben, wird das Objekt in das Arbeitsblatt geändert. Siehe das Dropdown-Menü oben links. In der Dropdown-Liste oben rechts lautet das Ereignis „Ändern“ .

_Wenn Sie das Dropdown-Menü verwenden und das Arbeitsblatt in der linken Dropdown-Liste auswählen, werden alle verfügbaren Ereignisse in der rechten Dropdown-Liste angezeigt.

Unabhängig davon, welches Dropdown-Menü Sie auswählen, wird der Code für dieses Ereignis automatisch geschrieben. Sie müssen es nur mit Ihren benutzerdefinierten Unterprogrammen füllen.

image_ * Now just put your code in this segment. I want to call my subroutine that is in a module. So I simply call that subroutine in this worksheet event handler. My subroutine isFormatUsingVBA() in Module1

Private Sub worksheet_change(ByVal Target As Range)

Call FormatUsingVBA

End Sub

Wenn wir jetzt eine Änderung in Blatt 2 vornehmen, wird das Makro FromatUsingVBA ausgeführt.

image

Also ja Leute, auf diese Weise kann ein VBA-Skript ausgeführt werden, wenn ein Blatt seinen Inhalt mithilfe des Worksheet Change Event-Handlers ändert. Ich hoffe es war hilfreich. Wenn Sie Fragen zu diesem Ereignishandler haben, erwähnen Sie diese im Kommentarbereich.

Verwandte Artikel:

link: / events-in-vba-einfachster-vba-code-zum-hervorheben-der-aktuellen-zeile-und-spalte-mit [Einfachster VBA-Code zum Hervorheben der aktuellen Zeile und Spalte mit] * | Verwenden Sie dieses kleine VBA-Snippet, um Markieren Sie die aktuelle Zeile und Spalte des Blattes.

link: / events-in-vba-das-arbeitsblatt-events-in-excel-vba [Die Arbeitsblattereignisse in Excel VBA] * | Das Arbeitsblattereignis ist sehr nützlich, wenn Ihre Makros ausgeführt werden sollen, wenn ein bestimmtes Ereignis auf dem Blatt auftritt.

link: / events-in-vba-run-macro-if-any-change-made-on-sheet-range [Makro ausführen, wenn Änderungen am Blatt im angegebenen Bereich vorgenommen wurden] * | Verwenden Sie diesen VBA-Code, um Ihren Makrocode auszuführen, wenn sich der Wert in einem angegebenen Bereich ändert. Es erkennt alle Änderungen, die im angegebenen Bereich vorgenommen wurden, und löst das Ereignis aus.

Beliebte Artikel:

link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität] | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel] | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] | Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.

Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel] | Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.