Wie ändert man die Textfeldfarbe basierend auf einem Wert in Excel?
In Excel können wir die Funktion „Bedingte Formatierung“ verwenden, um die Hintergrundfarbe basierend auf dem Zellenwert zu ändern. In diesem Artikel werde ich jedoch darüber sprechen, wie man die Textfeldfarbe basierend auf dem Zellenwert oder dem Wert im Textfeld ändert.
Textfeldfarbe basierend auf Zellenwert mit VBA-Code ändern
Textfeldfarbe basierend auf dem Wert im Textfeld mit VBA-Code ändern
Textfeldfarbe basierend auf Zellenwert mit VBA-Code ändern
Angenommen, wenn der Zellenwert in A1 größer als der Zellenwert in B1 ist, möchte ich, dass das Textfeld mit roter Farbe gefüllt wird. Im Gegensatz dazu sollte das Textfeld mit gelber Farbe gefüllt sein. Bitte führen Sie diese Aufgabe mit den folgenden Schritten aus:
1. Fügen Sie ein Textfeld ein, indem Sie auf Entwickler > Einfügen > Textfeld (ActiveX-Steuerelement) klicken und dann ein Textfeld zeichnen, siehe Screenshot:
2. Klicken Sie dann mit der rechten Maustaste auf das Textfeld und wählen Sie Code anzeigen im Kontextmenü, um das Fenster Microsoft Visual Basic for Applications zu öffnen. Ersetzen Sie dann den ursprünglichen Code durch den folgenden VBA-Code im leeren Modul:
VBA-Code: Textfeldfarbe basierend auf Zellenwerten ändern:
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
Hinweis: Im obigen Code ist TextBox1 der Name des eingefügten Textfelds, A1 und B1 sind die beiden Zellen, auf deren Basis Sie die Textfeldfarbe ändern möchten. Ändern Sie diese entsprechend Ihren Anforderungen.
3. Speichern und schließen Sie dann das Codefenster und beenden Sie den Entwurfsmodus. Jetzt wird das Textfeld rot gefüllt, wenn A1 größer als B1 ist und Sie Text in das Textfeld eingeben; wenn A1 kleiner als B1 ist, wird das Textfeld beim Eingeben eines Werts gelb gefüllt, siehe Screenshot:
Textfeldfarbe basierend auf dem Wert im Textfeld mit VBA-Code ändern
Wenn Sie die Textfeldfarbe basierend auf dem Wert im Textfeld ändern möchten – zum Beispiel soll das Textfeld rot gefüllt sein, wenn der Wert zwischen 1 und 10 liegt, grün, wenn der Wert zwischen 11 und 20 liegt, und gelb bei anderen Werten – wenden Sie bitte den folgenden VBA-Code an.
1. Nachdem Sie ein Textfeld eingefügt haben, klicken Sie mit der rechten Maustaste darauf und wählen Sie Code anzeigen im Kontextmenü, um das Fenster Microsoft Visual Basic for Applications zu öffnen. Ersetzen Sie dann den ursprünglichen Code durch den folgenden VBA-Code im leeren Modul:
VBA-Code: Textfeldfarbe basierend auf dem Wert im Textfeld ändern:
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
Hinweis: Im obigen Code ist Textbox1 der Name des eingefügten Textfelds, und Sie können die Werte und die Hintergrundfarbe im Code nach Bedarf ändern.
2. Speichern und schließen Sie dann das Codefenster und beenden Sie den Entwurfsmodus. Wenn Sie nun einen Wert zwischen 1 und 10 in das Textfeld eingeben, wird seine Hintergrundfarbe rot. Bei einem Wert zwischen 11 und 20 wird die Hintergrundfarbe des Textfelds grün, bei anderen Werten wird sie gelb, wie im folgenden Screenshot gezeigt:
<
Verwandte Artikel:
Wie fügt man ein Bild in ein Textfeld ein?
Wie legt man einen Standardwert in einem Textfeld fest?
Wie lässt man nur Zahlen in einem Textfeld eingeben?
Wie wendet man eine Rechtschreibprüfung in einem Textfeld an?
Die besten Office-Produktivitätstools
Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre 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 Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!