Direkt zum Inhalt

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


Pfeil blau rechte Blase Ä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:

Doc Textbox Farbe basierend auf Wert 1

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

Doc Textbox Farbe basierend auf Wert 2

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:

Doc Textbox Farbe basierend auf Wert 3


Pfeil blau rechte Blase Ä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

Doc Textbox Farbe basierend auf Wert 4

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:

Doc Textbox Farbe basierend auf Wert 5


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

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

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 ...

Beschreibung


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!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
This comment was minimized by the moderator on the site
For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations