Hoppa till huvudinnehåll

Hur ändrar jag textrutans färg baserat på värde i Excel?

I Excel kan vi använda funktionen Villkorlig formatering för att ändra bakgrundsfärgen baserat på cellvärde, men i den här artikeln kommer jag att prata om hur man ändrar textrutans färg baserat på cellvärde eller värde i textrutan.

Ändra textrutans färg baserat på cellvärde med VBA-kod

Ändra textrutans färg baserat på värdet i textrutan med VBA-kod


pil blå höger bubbla Ändra textrutans färg baserat på cellvärde med VBA-kod

Låt oss säga, om cellvärdet i A1 är större än cellvärdet i B1, vill jag att textrutan ska fyllas med röd färg, tvärtom bör textrutan fyllas med gul färg. Vänligen uppnå detta jobb med följande steg:

1. Infoga en textruta genom att klicka Utvecklare > Insert > Textruta (ActiveX-kontroll)och rita sedan en textruta, se skärmdump:

doc textrutans färg baserat på värde 1

2. Högerklicka sedan på textrutan och välj Visa kod från snabbmenyn för att öppna Microsoft Visual Basic för applikationer fönstret och ersätt sedan den ursprungliga koden med följande VBA-kod i den tomma modulen:

VBA-kod: Ändra textrutans färg baserat på cellvärden:

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 textrutans färg baserat på värde 2

Anmärkningar: I ovanstående kod, TextBox1 är textrutans namn som du har lagt in, A1 och B1 är de två cellerna som du vill ändra textrutans färg baserat på, ändra dem efter behov.

3. Spara och stäng sedan kodfönstret och avsluta Designläge, nu, om cell A1 är större än B1, när du skriver text i textrutan, kommer den att fyllas med röd färg, och om A1 är mindre än B1, när du anger värde i textrutan, kommer den att fyllas med gul färg, se skärmdump:

doc textrutans färg baserat på värde 3


pil blå höger bubbla Ändra textrutans färg baserat på värdet i textrutan med VBA-kod

Om du vill ändra textrutans färg baserat på värdet i textrutan, till exempel när värdet i textrutan är mellan 1 och 10, är ​​textrutans fyllda färg röd, textrutans färg är grön om värdet är mellan 11 och 20, om det är andra värden är textrutans färg gul. För att hantera denna uppgift, använd nedanstående VBA-kod.

1. När du har infogat en textruta högerklickar du på den och väljer Visa kod från snabbmenyn för att öppna Microsoft Visual Basic för applikationer fönstret och ersätt sedan den ursprungliga koden med följande VBA-kod i den tomma modulen:

VBA-kod: Ändra textrutans färg baserat på värdet i textrutan:

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 textrutans färg baserat på värde 4

Anmärkningar: I ovanstående kod, Textlåda1 är namnet på textrutan du har infogat, och du kan ändra värdena och bakgrundsfärgen i koden till dina egna.

2. Spara och stäng sedan kodfönstret och avsluta Designläge, nu, om du anger värdet mellan 1 och 10 i textrutan, blir dess bakgrundsfärg röd, värdet mellan 11 och 20, textrutans bakgrundsfärg blir grön, andra värden, den blir gul som följande skärmdump visas:

doc textrutans färg baserat på värde 5


Relaterade artiklar:

Hur infogar jag bilden i textrutan?

Hur ställer jag in ett standardvärde i en textruta?

Hur tillåter jag att endast siffror matas in i textrutan?

Hur använder jag stavningskontroll i textrutan?

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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