Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie ändert man Textboxfarbe basierend auf 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 darüber sprechen, wie die Farbe eines Textfelds basierend auf dem Zellenwert oder Wert in einem 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 in einem Textfeld mit VBA-Code


Pfeil blaue rechte Blase Ändern Sie die Farbe des Textfelds basierend auf dem Zellenwert mit VBA-Code


Nehmen wir an, 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 Gegenteil, das Textfeld sollte mit gelber Farbe gefüllt sein. Bitte erreichen Sie diesen Job mit folgenden Schritten:

1. Fügen Sie ein Textfeld ein, indem Sie auf klicken Entwickler > Einsatz > Textfeld (ActiveX-Steuerelement)und dann ein Textfeld zeichnen, siehe Screenshot:

Doc-Textfeldfarbe basierend auf Wert 1

2. Klicken Sie dann mit der rechten Maustaste auf das Textfeld und wählen Sie Code anzeigen aus dem Kontextmenü zum Öffnen des Microsoft Visual Basic für Applikationen Fenster, und ersetzen Sie dann den ursprünglichen Code mit dem folgenden VBA-Code in das leere Modul:

VBA-Code: Ändern der Textboxfarbe basierend auf 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-Textfeldfarbe basierend auf Wert 2

Text: In dem obigen Code, TextBox1 ist der Textfeldname, den Sie eingefügt haben, A1 und B1 Sind die zwei Zellen, auf denen Sie die Textboxfarbe ändern möchten, ändern Sie sie bitte entsprechend Ihren Bedürfnissen.

3. Speichern und schließen Sie dann das Codefenster und beenden Sie das Entwurfsmodusjetzt, wenn Zelle A1 größer als B1 ist, wenn Sie Text in das Textfeld eingeben, wird es mit roter Farbe gefüllt, und wenn A1 kleiner als B1 ist, wird beim Eingeben des Werts in das Textfeld eine gelbe Farbe siehe Screenshot:

Doc-Textfeldfarbe basierend auf Wert 3


Pfeil blaue rechte Blase Ändern Sie die Farbe des Textfelds basierend auf dem Wert in einem Textfeld mit VBA-Code

Wenn Sie die Farbe des Textfelds auf der Grundlage des Werts im Textfeld ändern möchten, z. B. wenn der Wert in einem Textfeld zwischen 1 und 10 liegt, ist die Farbe des Textfeldes grün, wenn der Wert zwischen 11 und 20 liegt andere Werte, die Textboxfarbe ist gelb. Um diese Aufgabe zu bearbeiten, 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 aus dem Kontextmenü zum Öffnen des Microsoft Visual Basic für Applikationen Fenster, und ersetzen Sie dann den ursprünglichen Code mit dem folgenden VBA-Code in das leere Modul:

VBA-Code: Ändern Sie die Textboxfarbe basierend auf dem Wert in der Textbox:

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-Textfeldfarbe basierend auf Wert 4

Text: In dem obigen Code, Textbox1 ist der Name des Textfelds, das Sie einfügen, und Sie können die Werte und die Hintergrundfarbe innerhalb des Codes zu Ihren 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 dessen Hintergrundfarbe rot, der Wert zwischen 11 und 20, die Hintergrundfarbe des Textfeldes wird grün, andere Werte werden gelb wie im folgenden Screenshot gezeigt:

Doc-Textfeldfarbe basierend auf Wert 5


In Verbindung stehende Artikel:

Wie füge ich ein Bild in ein Textfeld ein?

Wie setze ich einen Standardwert in einem Textfeld?

Wie können nur Zahlen in das Textfeld eingegeben werden?

Wie man eine Rechtschreibprüfung in einem Textfeld anwendet?


Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); Layout lesen (Leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt der Zellen teilen; Kombinieren Sie doppelte Zeilen / Spalten... Doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie "Duplizieren" oder "Eindeutig" Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 30-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre 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 täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Justin · 2 years ago
    Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks