Hvordan ændres tekstboksfarve baseret på værdi i Excel?
I Excel kan vi anvende funktionen Betinget formatering til at ændre baggrundsfarven baseret på celleværdi, men i denne artikel vil jeg tale om, hvordan du ændrer tekstboksfarve baseret på celleværdi eller værdi i tekstboks.
Skift tekstboksfarve baseret på celleværdi med VBA-kode
Skift tekstboksfarve baseret på værdi i tekstboks med VBA-kode
Skift tekstboksfarve baseret på celleværdi med VBA-kode
Lad os sige, hvis celleværdien i A1 er større end celleværdien i B1, vil jeg have, at tekstboksen skal udfyldes med rød farve, tværtimod skal tekstboksen udfyldes med gul farve. Opnå dette job med følgende trin:
1. Indsæt en tekstboks ved at klikke på Udvikler > indsatte > Tekstboks (ActiveX-kontrol), og tegn derefter en tekstboks, se skærmbillede:
2. Højreklik derefter på tekstboksen, og vælg Vis kode fra genvejsmenuen for at åbne Microsoft Visual Basic til applikationer vindue, og udskift derefter den originale kode med følgende VBA-kode i det tomme modul:
VBA-kode: Skift tekstboksfarve baseret på celleværdier:
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
Bemærk: I ovenstående kode, Tekstboks 1 er det tekstfeltnavn, du har indsat, A1 , B1 er de to celler, du vil ændre tekstboksfarve baseret på, skal du ændre dem til dit behov.
3. Gem og luk derefter kodevinduet, og afslut Designtilstand, nu, hvis celle A1 er større end B1, når du skriver tekst i tekstboksen, vil den blive fyldt med rød farve, og hvis A1 er mindre end B1, når du indtaster værdi i tekstboksen, vil den blive fyldt med gul farve, se skærmbillede:
Skift tekstboksfarve baseret på værdi i tekstboks med VBA-kode
Hvis du vil ændre tekstboksfarven baseret på værdien i tekstboksen, for eksempel når værdien i tekstboksen er mellem 1 og 10, er tekstboksens udfyldte farve rød, tekstboksens farve er grøn, hvis værdien er mellem 11 og 20, hvis den er andre værdier, tekstboksens farve er gul. For at håndtere denne opgave skal du anvende nedenstående VBA-kode.
1. Når du har indsat en tekstboks, skal du højreklikke på den og vælge Vis kode fra genvejsmenuen for at åbne Microsoft Visual Basic til applikationer vindue, og udskift derefter den originale kode med følgende VBA-kode i det tomme modul:
VBA-kode: Skift tekstboksfarve baseret på værdi i tekstboks:
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
Bemærk: I ovenstående kode, Tekstboks 1 er navnet på den tekstboks, du er indsat, og du kan ændre værdierne og baggrundsfarven i koden til din egen.
2. Gem og luk derefter kodevinduet, og afslut Design Mode, nu, hvis du indtaster værdien mellem 1 og 10 i tekstboksen, bliver dens baggrundsfarve rød, værdien mellem 11 og 20, tekstboksens baggrundsfarve bliver grøn, andre værdier, den bliver gul som følgende skærmbillede vist:
Relaterede artikler:
Hvordan indsættes billede i tekstfeltet?
Hvordan indstilles en standardværdi i en tekstboks?
Hvordan tillader man kun at indtaste tal i tekstfeltet?
Hvordan anvender stavekontrol i tekstfelt?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!