Ereignis Change das Textfeld ist eines der nützlichsten und am häufigsten verwendeten Ereignisse in Excel VBA. Change wird jedes Mal ausgelöst, wenn ein Benutzer Text in ein Textfeld eingibt oder ändert. Dies ermöglicht es dem Programmierer, bestimmte Aktionen auszuführen, wenn er auf eine Änderung des Feldinhalts reagiert.
Change sie können Sie für eine Vielzahl von Aufgaben verwenden, einschließlich der Validierung von Eingaben, der automatischen Aktualisierung anderer Felder oder der Anzeige des Ergebnisses von Berechnungen. Sie können beispielsweise eine Prozedur erstellen, die überprüft, ob die vom Benutzer eingegebene E-Mail-Adresse korrekt ist oder den Betrag in den Feldern für den Kaufbetrag berechnet.
Um das Change-Ereignis zu verwenden, müssen Sie eine Prozedur mit einem Namen erstellen, der dem Textfeld entspricht, und angeben, dass es aufgerufen werden soll, wenn sich der Wert des Textfelds ändert. Dies kann mit einem Schlüsselwort erfolgen Private Sub zusammen mit dem Namen des Textfelds und des Ereignisses, z. B.:
Private Sub TextBox1_Change()
.
End Sub
Das obige Beispiel zeigt die Erstellung einer Prozedur TextBox1_Change, die jedes Mal aufgerufen wird, wenn sich ein Textfeld namens TextBox1 ändert. Hier können Sie den gewünschten Code hinzufügen, um die gewünschten Aktionen auszuführen.
Beschreibung des Change-Ereignisses in VBA Excel
Das Change-Ereignis in Excel VBA tritt auf, wenn ein Benutzer einen Wert in einer Zelle oder einem Textfeld ändert. Dieses Ereignis ermöglicht es dem Programmierer, auf Datenänderungen in Echtzeit zu reagieren und bestimmte Aktionen auszuführen.
Um das Change-Ereignis zu verwenden, müssen Sie es im VBA-Modul definieren. Dies kann wie folgt erfolgen:
| Schritt | Handlung |
|---|---|
| 1 | Öffnen Sie Visual Basic für Applikationen, indem Sie ALT + F11 drücken. |
| 2 | Wählen Sie das Arbeitsblatt aus, auf dem Sie das Change-Ereignis verwenden möchten. |
| 3 | Klicken Sie mit der rechten Maustaste auf das Arbeitsblatt und wählen Sie Einfügen - Modul. |
| 4 | Fügen Sie den folgenden Code in das Modul ein: |
Private Sub Worksheet_Change(ByVal Target As Range)' Ваш код здесьEnd Sub
Alle Aktionen, die Sie ausführen möchten, wenn sich die Daten ändern, müssen innerhalb dieses Ereignisses eingefügt werden.
Wenn Sie beispielsweise überprüfen möchten, ob der neue Wert eine eingegebene Zahl ist, können Sie diesen Code verwenden:
Private Sub Worksheet_Change(ByVal Target As Range)If IsNumeric(Target.Value) = False ThenMsgBox "Пожалуйста, введите числовое значение."Target.ClearContentsEnd IfEnd Sub
In diesem Beispiel wird eine Warnmeldung angezeigt, wenn der Benutzer einen nicht numerischen Wert in eine Zelle eingibt und der Wert gelöscht wird.
Das Change-Ereignis kann auch verwendet werden, um andere Zellen automatisch zu aktualisieren oder andere Vorgänge auszuführen, wenn Daten geändert werden. Dies ist beispielsweise nützlich, um eine dynamische Berechnung zu organisieren oder Änderungen an einer Tabelle zu verfolgen.
Abschließend spielt das Change-Ereignis in Excel VBA eine wichtige Rolle bei der Verarbeitung von Datenänderungen in Echtzeit. Es ermöglicht dem Programmierer, je nach Änderung verschiedene Aktionen auszuführen, wodurch die Flexibilität und Funktionalität von Excel-basierten Anwendungen verbessert wird.
Verwenden des Change-Ereignisses
Um mit dem Change-Ereignis zu arbeiten, müssen Sie zuerst eine Prozedur erstellen, die beim Auftreten des Ereignisses aufgerufen wird. Zum Beispiel:
Private Sub TextBox1_Change()' код, выполняющийся при изменении текста в поле TextBox1End Sub
In diesem Fall wird die Prozedur TextBox1_Change jedes Mal aufgerufen, wenn der Benutzer den Text im TextBox1-Feld ändert.
Sie können in diesem Verfahren verschiedene Aktionen ausführen, z. B. die Werte anderer Zellen in einer Tabelle aktualisieren, die Ergebnisse von Berechnungen anzeigen oder die vom Benutzer eingegebenen Daten auf Übereinstimmung mit bestimmten Bedingungen überprüfen.
Sie können die Text-Eigenschaft des Textfeldobjekts verwenden, um auf Text zuzugreifen, der vom Benutzer eingegeben oder geändert wurde. Zum Beispiel:
Private Sub TextBox1_Change()Dim text As Stringtext = TextBox1.Text' код, выполняющийся при изменении текста в поле TextBox1End Sub
Das Change-Ereignis bietet daher die Möglichkeit, auf Textänderungen in einem Textfeld zu reagieren und entsprechend den vom Benutzer eingegebenen Daten entsprechende Aktionen auszuführen.
Beachten Sie, dass das Change-Ereignis auch auftreten kann, wenn Sie den Text programmgesteuert ändern, z. B. wenn Sie den Wert eines Textfelds mithilfe von VBA-Code ändern.
Erstellen eines Change-Ereignishandlers
Das Change-Ereignis in Excel VBA tritt auf, wenn ein Benutzer den Inhalt eines Textfelds ändert. Sie können dieses Ereignis verwenden, um bestimmte Aktionen auszuführen oder Daten zu verarbeiten, wenn Sie ein Textfeld ändern.
Befolgen Sie diese Schritte, um einen Change-Ereignishandler für ein Textfeld in VBA Excel zu erstellen:
- Öffnen Sie den Visual Basic-Editor, indem Sie auf ALT + F11 klicken.
- Wählen Sie das Arbeitsblatt aus, auf dem sich das Textfeld im Projekt-Explorer befindet.
- Doppelklicken Sie auf das Arbeitsblatt, um den Code für das ausgewählte Arbeitsblatt zu öffnen.
- Wählen Sie "Worksheet" aus der Dropdown-Liste links neben dem Code-Editor aus.
- Wählen Sie "Ändern" aus der Dropdown-Liste rechts neben dem Code-Editor aus. Dadurch wird eine leere Prozedur zur Behandlung des Change-Ereignisses erstellt.
- Geben Sie den Code für den Change-Ereignishandler innerhalb der Prozedur ein, z. B.:
Private Sub Worksheet_Change(ByVal Target As Range)' Ваш код обработчика события Change здесьEnd Sub
Sie können auf den geänderten Text mit dem Target-Objekt zugreifen. Um beispielsweise den Wert eines geänderten Feldes abzurufen, können Sie die Value-Eigenschaft des Target-Objekts verwenden:
Private Sub Worksheet_Change(ByVal Target As Range)Dim changedValue As StringchangedValue = Target.Value' Ваш код обработчика события Change здесьEnd Sub
Nachdem Sie den Code für den Change-Ereignishandler geschrieben haben, speichern Sie die Datei, und schließen Sie den Code-Editor. Wenn Sie nun den Inhalt des Textfelds im ausgewählten Arbeitsblatt ändern, wird der Change-Ereignishandler aufgerufen.
Anwenden des Change-Ereignisses auf ein Textfeld
Das Change-Ereignis funktioniert folgendermaßen: wenn ein Benutzer Text in ein Textfeld eingibt oder ändert, wird ein Change-Ereignis ausgelöst, mit dem bestimmte Aktionen ausgelöst oder eingegebene Daten verarbeitet werden können.
Die Anwendung des Change-Ereignisses kann in vielen Szenarien nützlich sein. Beispielsweise können Sie damit Daten in anderen Zellen automatisch aktualisieren oder bestimmte Aktionen ausführen, wenn sich der Text in einem Feld ändert.
Um das Change-Ereignis in einem Excel-VBA-Textfeld zu verwenden, müssen Sie die folgenden Schritte ausführen:
- Öffnen Sie den Visual Basic-Editor, indem Sie ALT + F11 drücken.
- Wählen Sie das gewünschte Textfeld im Excel-Arbeitsblatt aus.
- Klicken Sie in den Eigenschaften des Textfelds auf die Registerkarte Ereignisse.
- Wählen Sie das Change-Ereignis aus der Dropdown-Liste aus.
- Fügen Sie den Code ein, der ausgeführt wird, wenn das Change-Ereignis auftritt.
Beispielcode, der das Change-Ereignis verwendet:
Private Sub TextBox1_Change()MsgBox "Текстовое поле было изменено."End Sub
In diesem Beispiel wird beim Ändern des Textes eine Meldung in einem Textfeld angezeigt, die den Benutzer über die Änderung informiert.
Das Change-Ereignis im Excel-VBA-Textfeld ist sehr nützlich und leistungsstark. Sie ermöglicht die Verwendung von Benutzereingaben, um Daten automatisch zu aktualisieren oder bestimmte Aktionen auszuführen. Hoffentlich hat Ihnen dieser Artikel geholfen, die Verwendung des Change-Ereignisses in einem Excel-VBA-Textfeld zu meistern.
Verwenden von bedingten Operatoren mit einem Change-Ereignis
Mit dem Change-Ereignis in einem Excel-VBA-Textfeld können Sie Änderungen erfassen, die ein Benutzer an einem Eingabefeld vornimmt. Dies können Änderungen am Text sein, die Formatierung des Textes sowie Änderungen, die durch Benutzeraktionen wie Ausschneiden, Einfügen oder Löschen von Text verursacht werden.
Bedingte Operatoren können verwendet werden, um diese Änderungen flexibler zu behandeln. Bedingte Anweisungen ermöglichen es Ihnen, bestimmte Aktionen nur auszuführen, wenn eine bestimmte Bedingung erfüllt ist.
Betrachten Sie ein Beispiel für die Verwendung bedingter Operatoren mit einem Change-Ereignis:
| Kode | Die Beschreibung |
|---|---|
| Private Sub TextBox1_Change() | Der Change-Ereignishandler für das angegebene Textfeld |
| If Len(TextBox1.Text) > 10 Then | Überprüfen der Textlänge im Eingabefeld |
| MsgBox "Der Text ist zu lang!" | Zeigt eine Fehlermeldung an, wenn der Text zu lang ist |
| End If | Abschluss der Bedingungsüberprüfung |
| End Sub | Beenden des Change-Ereignishandlers |
Wenn der Text im angegebenen Eingabefeld in diesem Beispiel mehr als 10 Zeichen lang ist, wird dem Benutzer die Fehlermeldung "Der Text ist zu lang!". Wenn der Text nicht länger als 10 Zeichen ist, werden keine weiteren Aktionen ausgeführt.
Daher können Sie bedingte Anweisungen mit dem Change-Ereignis verwenden, um den vom Benutzer eingegebenen Text in Echtzeit zu steuern und zu verarbeiten, was eine flexiblere und informativere Arbeit mit Textfeldern in VBA Excel ermöglicht.
Beispiele für die Verwendung des Change-Ereignisses
Das Change-Ereignis in einem Excel-VBA-Textfeld wird jedes Mal ausgelöst, wenn ein Benutzer den Inhalt des Textfelds ändert, indem er Tasten auf der Tastatur drückt oder Text aus der Zwischenablage einfügt. Im Folgenden finden Sie einige Beispiele für die Verwendung des Change-Ereignisses, um bestimmte Aktionen auszuführen, wenn sich der Inhalt eines Textfelds ändert.
| Ein Beispiel | Die Beschreibung |
|---|---|
| Private Sub TextBox1_Change() | Das einfachste Beispiel für ein Change-Ereignis. Der Code wird jedes Mal ausgeführt, wenn der Benutzer den Inhalt von TextBox1 ändert. |
| If Len(TextBox1.Text) > 10 Then | Ein bedingter Operator, um die Länge des Textes in einem Textfeld zu überprüfen. Wenn der Text länger als 10 Zeichen ist, wird eine bestimmte Aktion ausgeführt. |
| TextBox2.Text = UCase(TextBox1.Text) | Beispiel für das Ändern des Inhalts eines anderen Textfelds basierend auf den Änderungen, die Sie am ersten Textfeld vorgenommen haben. In diesem Beispiel wird der Text in TextBox1 in Großbuchstaben konvertiert und dann auf TextBox2 gesetzt. |
| TextBox1.Font.Bold = True | Beispiel für das Ändern der Textformatierung in einem Textfeld. In diesem Beispiel wird der Inhalt des Textfelds bei jeder Änderung fett gedruckt. |
Das Change-Ereignis bietet umfangreiche Möglichkeiten zum Verarbeiten und Reagieren auf Änderungen in einem Textfeld. Wenn Sie benutzerdefinierte Makros in Excel VBA erstellen, kann es hilfreich sein, dieses Ereignis zu verwenden, um die Benutzeroberfläche zu automatisieren und zu verbessern.