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

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


šipka modrá pravá bublina 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:

barva textového pole doc na základě hodnoty 1

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

barva textového pole doc na základě hodnoty 2

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:

barva textového pole doc na základě hodnoty 3


šipka modrá pravá bublina 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

barva textového pole doc na základě hodnoty 4

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:

barva textového pole doc na základě hodnoty 5


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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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!
officetab dno
Komentáře (3)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Může mi někdo poskytnout příklad sešitu, abych viděl, jak to funguje? Snažím se dál, ale bezvýsledně. dík
Tento komentář byl moderátorem webu minimalizován
Pro mě, když se pokouším změnit hodnotu barvy textového pole na základě dvou hodnot buněk, textové pole se aktualizuje pouze tehdy, když do textového pole něco napíšete. Potřebuji, aby se automaticky aktualizoval. Asi se budu muset naučit VBA, abych zjistil proč.
Tento komentář byl moderátorem webu minimalizován
Nevadí, přišel jsem na to. Místo toho, abych provedl událost, která spouští změnu "Textbox1_GotFocus()", udělal jsem to "Worksheet_SelectionChange(ByVal Target As Range)". Nyní, kdykoli se změní hodnota v jedné z buněk, barva textového pole se automaticky změní.
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL