Salt la conținutul principal

Cum se schimbă culoarea casetei de text pe baza valorii din Excel?

În Excel, putem aplica funcția Formatare condiționată pentru a schimba culoarea de fundal pe baza valorii celulei, dar, în acest articol, voi vorbi despre cum să schimbați culoarea casetei de text în funcție de valoarea celulei sau valoarea din caseta de text.

Schimbați culoarea casetei de text pe baza valorii celulei cu codul VBA

Schimbați culoarea casetei de text pe baza valorii din caseta de text cu cod VBA


săgeată albastru dreapta balon Schimbați culoarea casetei de text pe baza valorii celulei cu codul VBA

Să spunem, dacă valoarea celulei din A1 este mai mare decât valoarea celulei din B1, vreau ca caseta de text să fie umplută cu culoare roșie, dimpotrivă, caseta de text ar trebui să fie umplută cu culoare galbenă. Vă rugăm să realizați acest job urmând pașii următori:

1. Introduceți o casetă text făcând clic pe Dezvoltator > Insera > Casetă text (control ActiveX), și apoi desenează o casetă text, vezi captura de ecran:

culoarea casetei de text doc pe baza valorii 1

2. Apoi faceți clic dreapta pe caseta de text și selectați Afișați codul din meniul contextual pentru a deschide fișierul Microsoft Visual Basic pentru aplicații fereastră, apoi înlocuiți codul original cu următorul cod VBA în modulul gol:

Cod VBA: Modificați culoarea casetei de text pe baza valorilor celulei:

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

culoarea casetei de text doc pe baza valorii 2

notițe: În codul de mai sus, TextBox1 este numele casetei text pe care l-ați inserat, A1 și B1 sunt cele două celule pe care doriți să modificați culoarea casetei de text în funcție de acestea, vă rugăm să le modificați în funcție de nevoile dvs.

3. Apoi salvați și închideți fereastra de cod și ieșiți din Mod de proiectare, acum, dacă celula A1 este mai mare decât B1, atunci când introduceți text în caseta de text, aceasta va fi umplută cu culoare roșie, iar dacă A1 este mai mică decât B1, atunci când introduceți valoare în caseta de text, va fi umplută cu culoare galbenă, vezi captura de ecran:

culoarea casetei de text doc pe baza valorii 3


săgeată albastru dreapta balon Schimbați culoarea casetei de text pe baza valorii din caseta de text cu cod VBA

Dacă doriți să modificați culoarea casetei de text pe baza valorii din caseta de text, de exemplu, când valoarea din caseta de text este cuprinsă între 1 și 10, culoarea completată a casetei de text este roșie, culoarea casetei de text este verde dacă valoarea este între 11 și 20, dacă este alte valori, culoarea casetei de text este galbenă. Pentru a face față acestei sarcini, vă rugăm să aplicați codul VBA de mai jos.

1. După introducerea unei casete de text, faceți clic dreapta pe ea și selectați Afișați codul din meniul contextual pentru a deschide fișierul Microsoft Visual Basic pentru aplicații fereastră, apoi înlocuiți codul original cu următorul cod VBA în modulul gol:

Cod VBA: Modificați culoarea casetei de text pe baza valorii din caseta de text:

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

culoarea casetei de text doc pe baza valorii 4

notițe: În codul de mai sus, Caseta de text 1 este numele casetei text în care ați fost introdus și puteți schimba valorile și culoarea de fundal din cod în propriile dvs.

2. Apoi salvați și închideți fereastra de cod și ieșiți din Mod de proiectare, acum, dacă introduceți valoarea între 1 și 10 în caseta de text, culoarea de fundal a acesteia va deveni roșie, valoarea cuprinsă între 11 și 20, culoarea de fundal a casetei de text va deveni verde, alte valori, va deveni galbenă după cum urmează:

culoarea casetei de text doc pe baza valorii 5


Legate de articole:

Cum se introduce o imagine în caseta de text?

Cum se setează o valoare implicită într-o casetă text?

Cum să permiteți introducerea numai numerelor în caseta de text?

Cum se aplică verificarea ortografică în caseta de text?

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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