Note: The other languages of the website are Google-translated. Back to English

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?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (3)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Kan någon ge ett exempel på en arbetsbok så att jag kan se att detta fungerar? Jag fortsätter försöka men utan resultat. Tack
Denna kommentar minimerades av moderatoren på webbplatsen
För mig, när jag försöker ändra textrutans färgvärde baserat på två cellvärden, uppdateras textrutan bara om du skriver något i textrutan. Jag behöver den för att uppdatera automatiskt. Antar att jag bara måste lära mig VBA för att ta reda på varför.
Denna kommentar minimerades av moderatoren på webbplatsen
Strunt i, jag kom på det. Istället för att göra händelsen som utlöser ändringen "Textbox1_GotFocus()", gjorde jag den till "Worksheet_SelectionChange(ByVal Target As Range)". Nu när värdet i en av cellerna ändras ändras textrutans färg automatiskt.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL