Wie ändere ich die Farbe des Textfelds basierend auf dem Wert in Excel?
In Excel können wir die Funktion "Bedingte Formatierung" anwenden, um die Hintergrundfarbe basierend auf dem Zellenwert zu ändern. In diesem Artikel werde ich jedoch erläutern, wie die Textfeldfarbe basierend auf dem Zellenwert oder dem Wert im Textfeld geändert wird.
Ändern Sie die Farbe des Textfelds basierend auf dem Zellenwert mit VBA-Code
Ändern Sie die Farbe des Textfelds basierend auf dem Wert im Textfeld mit VBA-Code
Ändern Sie die Farbe des Textfelds basierend auf dem Zellenwert mit VBA-Code
Angenommen, der Zellenwert in A1 ist größer als der Zellenwert in B1. Ich möchte, dass das Textfeld mit roter Farbe gefüllt wird. Im Gegensatz dazu sollte das Textfeld mit gelber Farbe gefüllt werden. Bitte erreichen Sie diesen Job mit folgenden Schritten:
1. Fügen Sie ein Textfeld ein, indem Sie auf klicken Entwickler:in / Unternehmen > Insert > Textfeld (ActiveX-Steuerelement)und zeichnen Sie dann ein Textfeld, siehe Screenshot:
2. Klicken Sie dann mit der rechten Maustaste auf das Textfeld und wählen Sie Code anzeigen aus dem Kontextmenü, um die zu öffnen Microsoft Visual Basic für Applikationen Fenster, und ersetzen Sie dann den Originalcode durch den folgenden VBA-Code in das leere Modul:
VBA-Code: Ändern Sie die Textfeldfarbe basierend auf den Zellenwerten:
Private Sub TextBox1_Change()
If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
Me.TextBox1.BackColor = vbRed
Else
Me.TextBox1.BackColor = vbYellow
End If
End Sub
Note: Im obigen Code, TextBox1 ist der Textfeldname, den Sie eingefügt haben. A1 und B1 Sind die beiden Zellen, auf deren Grundlage Sie die Farbe des Textfelds ändern möchten, ändern Sie sie bitte nach Ihren Wünschen.
3. Speichern und schließen Sie dann das Codefenster und beenden Sie das EntwurfsmodusWenn nun Zelle A1 größer als B1 ist und Sie Text in das Textfeld eingeben, wird dieser mit roter Farbe gefüllt. Wenn A1 kleiner als B1 ist, wird er bei der Eingabe des Werts in das Textfeld mit gelber Farbe gefüllt. siehe Screenshot:
Ändern Sie die Farbe des Textfelds basierend auf dem Wert im Textfeld mit VBA-Code
Wenn Sie die Textfeldfarbe basierend auf dem Wert im Textfeld ändern möchten, z. B. wenn der Wert im Textfeld zwischen 1 und 10 liegt, die gefüllte Farbe des Textfelds rot ist, ist die Textfeldfarbe grün, wenn der Wert zwischen 11 und 20 liegt, falls dies der Fall ist Bei anderen Werten ist die Textfeldfarbe gelb. Um diese Aufgabe zu erledigen, wenden Sie bitte den folgenden VBA-Code an.
1. Klicken Sie nach dem Einfügen eines Textfelds mit der rechten Maustaste darauf und wählen Sie Code anzeigen aus dem Kontextmenü, um die zu öffnen Microsoft Visual Basic für Applikationen Fenster, und ersetzen Sie dann den Originalcode durch den folgenden VBA-Code in das leere Modul:
VBA-Code: Ändern Sie die Farbe des Textfelds basierend auf dem Wert im Textfeld:
Private Sub TextBox1_Change()
On Error Resume Next
Select Case TextBox1.Value
Case 1 To 10:
TextBox1.BackColor = vbRed
Case 11 To 20:
TextBox1.BackColor = vbGreen
Case Else:
TextBox1.BackColor = vbYellow
End Select
End Sub
Note: Im obigen Code, Textfeld1 ist der Name des Textfelds, das Sie einfügen, und Sie können die Werte und die Hintergrundfarbe innerhalb des Codes in Ihre eigenen ändern.
2. Speichern und schließen Sie dann das Codefenster und beenden Sie das EntwurfsmodusWenn Sie nun den Wert zwischen 1 und 10 in das Textfeld eingeben, wird seine Hintergrundfarbe rot, der Wert zwischen 11 und 20, die Hintergrundfarbe des Textfelds wird grün, andere Werte werden gelb, wie im folgenden Screenshot gezeigt:
In Verbindung stehende Artikel:
Wie füge ich ein Bild in ein Textfeld ein?
Wie lege ich einen Standardwert in einem Textfeld fest?
Wie kann man zulassen, dass nur Zahlen in ein Textfeld eingegeben werden?
Wie wende ich die Rechtschreibprüfung im Textfeld an?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!