Ugrás a tartalomra

Hogyan lehet megváltoztatni a szövegdoboz színét az Excel értéke alapján?

Az Excelben alkalmazhatjuk a Feltételes formázás funkciót a háttér színének megváltoztatására a cella értéke alapján, de ebben a cikkben arról fogok beszélni, hogyan lehet a szövegdoboz színét megváltoztatni a cella értéke vagy a szövegdoboz értéke alapján.

Változtassa meg a szövegdoboz színét a cella értéke alapján, VBA kóddal

Változtassa meg a szövegdoboz színét a VBA kóddal ellátott szövegdoboz értéke alapján


nyíl kék jobb buborék Változtassa meg a szövegdoboz színét a cella értéke alapján, VBA kóddal

Tegyük fel, hogy ha az A1 cellájának értéke nagyobb, mint a B1 cellájának értéke, akkor azt akarom, hogy a szövegdoboz piros színű legyen, éppen ellenkezőleg, a szövegmezőt sárga színnel kell kitölteni. Kérjük, a következő lépésekkel hajtsa végre ezt a munkát:

1. Helyezzen be egy szövegdobozt a kattintással Fejlesztő > betétlap > Szövegdoboz (ActiveX-vezérlő), majd rajzoljon egy szövegdobozt, lásd a képernyőképet:

doc szövegdoboz színe az 1. érték alapján

2. Ezután kattintson a jobb gombbal a szövegmezőre, és válassza a lehetőséget Kód megtekintése a helyi menüből a Microsoft Visual Basic for Applications ablakban, majd cserélje ki az eredeti kódot a következő VBA kóddal az üres modulba:

VBA-kód: A szövegdoboz színének módosítása a cellaértékek alapján:

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 szövegdoboz színe az 2. érték alapján

Megjegyzések: A fenti kódban 1. szövegdoboz a beillesztett szövegmező neve, A1 és a B1 az a két cella, amelyek alapján a szövegdoboz színét meg akarja változtatni, kérjük, változtassa meg az igényeinek megfelelően.

3. Ezután mentse el és zárja be a kódablakot, és lépjen ki a Tervezési mód, most, ha az A1 cella nagyobb, mint B1, amikor szöveget ír be a szövegmezőbe, piros színű lesz, és ha A1 kisebb, mint B1, ha értéket ír be a szövegmezőbe, sárga színű lesz, lásd a képernyőképet:

doc szövegdoboz színe az 3. érték alapján


nyíl kék jobb buborék Változtassa meg a szövegdoboz színét a VBA kóddal ellátott szövegdoboz értéke alapján

Ha a szövegdoboz színét a szövegdoboz értéke alapján szeretné megváltoztatni, például amikor a szövegdoboz értéke 1 és 10 között van, akkor a szövegdoboz kitöltött színe piros, a szövegmező színe zöld, ha az értéke 11 és 20 között van, ha egyéb értékek esetén a szövegmező színe sárga. A feladat megoldásához kérjük, alkalmazza az alábbi VBA kódot.

1. A szövegmező beszúrása után kattintson rá a jobb gombbal, és válassza a lehetőséget Kód megtekintése a helyi menüből a Microsoft Visual Basic for Applications ablakban, majd cserélje ki az eredeti kódot a következő VBA kóddal az üres modulba:

VBA-kód: A szövegdoboz színének módosítása a szövegdoboz értéke alapján:

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 szövegdoboz színe az 4. érték alapján

Megjegyzések: A fenti kódban 1. szövegdoboz a beillesztett szövegmező neve, és a kódon belüli értékeket és háttérszínt sajátra módosíthatja.

2. Ezután mentse el és zárja be a kódablakot, és lépjen ki a Tervezési mód, most, ha 1 és 10 közötti értéket ír be a szövegmezőbe, a háttér színe pirosra vált, az értéke 11 és 20 között, a szövegdoboz háttérszíne zöldre változik, más értékek pedig sárgára váltanak, ahogy az alábbi képen látható:

doc szövegdoboz színe az 5. érték alapján


Kapcsolódó cikkek:

Hogyan lehet képet beilleszteni a szövegmezőbe?

Hogyan állítsunk be alapértelmezett értéket a szövegmezőben?

Hogyan lehet csak számokat bevinni a szövegmezőbe?

Hogyan kell alkalmazni a helyesírás-ellenőrzést a szövegmezőben?

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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