Jak změnit barvu textového pole na základě hodnoty v aplikaci Excel?
V aplikaci Excel můžeme použít funkci podmíněného formátování ke změně barvy pozadí na základě hodnoty buňky, ale v tomto článku budu mluvit o tom, jak změnit barvu textového pole na základě hodnoty buňky nebo hodnoty v textovém poli.
Změňte barvu textového pole na základě hodnoty buňky pomocí kódu VBA
Změňte barvu textového pole na základě hodnoty v textovém poli pomocí kódu VBA
Změňte barvu textového pole na základě hodnoty buňky pomocí kódu VBA
Řekněme, že pokud je hodnota buňky v A1 větší než hodnota buňky v B1, chci, aby bylo textové pole vyplněno červenou barvou, naopak, textové pole by mělo být vyplněno žlutou barvou. Dosáhněte této úlohy pomocí následujících kroků:
1. Vložte textové pole kliknutím Vývojka > Vložit > Textové pole (ovládací prvek ActiveX)a potom nakreslete textové pole, viz screenshot:
2. Poté klikněte pravým tlačítkem na textové pole a vyberte Zobrazit kód z kontextové nabídky otevřete Microsoft Visual Basic pro aplikace okno a poté do prázdného modulu nahraďte původní kód následujícím kódem VBA:
Kód VBA: Změna barvy textového pole na základě hodnot buněk:
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
Poznámka: Ve výše uvedeném kódu, Textové pole 1 je název textového pole, který jste vložili, A1 a B1 jsou dvě buňky, na kterých chcete změnit barvu textového pole, změňte je podle potřeby.
3. Poté uložte a zavřete okno kódu a ukončete Režim návrhu, nyní, pokud je buňka A1 větší než B1, bude při psaní textu do textového pole vyplněna červenou barvou a pokud je A1 menší než B1, bude při zadávání hodnoty do textového pole vyplněna žlutou barvou, viz screenshot:
Změňte barvu textového pole na základě hodnoty v textovém poli pomocí kódu VBA
Pokud chcete změnit barvu textového pole na základě hodnoty v textovém poli, například když je hodnota v textovém poli mezi 1 a 10, vyplněná barva textového pole je červená, barva textového pole je zelená, pokud je hodnota mezi 11 a 20, pokud je jiné hodnoty, barva textového pole je žlutá. K řešení tohoto úkolu použijte níže uvedený kód VBA.
1. Po vložení textového pole na něj klikněte pravým tlačítkem a vyberte Zobrazit kód z kontextové nabídky otevřete Microsoft Visual Basic pro aplikace okno a poté do prázdného modulu nahraďte původní kód následujícím kódem VBA:
Kód VBA: Změna barvy textového pole na základě hodnoty v textovém poli:
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
Poznámka: Ve výše uvedeném kódu, Textové pole 1 je název textového pole, které jste vložili, a můžete změnit hodnoty a barvu pozadí v kódu na svou vlastní.
2. Poté uložte a zavřete okno kódu a ukončete Režim návrhu, nyní, pokud zadáte hodnotu mezi 1 a 10 do textového pole, jeho barva pozadí se změní na červenou, hodnota mezi 11 a 20, barva pozadí textového pole se změní na zelenou, ostatní hodnoty, změní se na žlutou, jak ukazuje následující obrázek:
Související články:
Jak vložit obrázek do textového pole?
Jak nastavit výchozí hodnotu v textovém poli?
Jak povolit zadávání pouze čísel do textového pole?
Jak použít kontrolu pravopisu v textovém poli?
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!