Přejít k hlavnímu obsahu
 

Jak povolit nebo zakázat tlačítko na základě hodnoty buňky v aplikaci Excel?

Autor: Xiaoyang Naposledy změněno: 2024-08-13

V tomto článku budu hovořit o některých metodách povolení nebo zakázání tlačítka na základě hodnoty buňky v listu aplikace Excel.

Povolte nebo zakažte dvě tlačítka na základě údajů ze dvou sloupců pomocí kódu VBA

Povolte nebo zakažte tlačítko na základě dvou hodnot buněk s kódem VBA


Povolte nebo zakažte dvě tlačítka na základě údajů ze dvou sloupců pomocí kódu VBA

Například mám v listu dvě příkazová tlačítka, pokud má sloupec A data, button1 je povoleno a tlačítko 2 je deaktivováno; pokud sloupec C obsahuje data, tlačítko 2 je povoleno a tlačítko 1 deaktivováno. K vyřešení tohoto úkolu vám může pomoci následující kód VBA.

1. Klikněte pravým tlačítkem na list, který obsahuje tlačítka, a poté vyberte Zobrazit kód z kontextové nabídky viz screenshot:

snímek obrazovky otevření editoru kódu VBA v Excelu

2. V Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte níže uvedený kód do prázdného modulu:

Kód VBA: Povolení nebo zakázání dvou tlačítek na základě dvou sloupců:

Private Sub Worksheet_Change(ByVal Target As Range)
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
        CommandButton2.Enabled = True
    End If
    If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
        CommandButton1.Enabled = True
    End If
End Sub

snímek obrazovky ukazující, jak použít kód VBA k deaktivaci dvou tlačítek

Pozor: Ve výše uvedeném kódu, CommandButton 1 a CommandButton 2 jsou názvy tlačítek, A: a C: C jsou dva sloupce, které používáte k povolení nebo zakázání dvou tlačítek, změňte je podle potřeby.

3. Poté uložte a zavřete okno kódu, nyní získáte následující výsledek, jak potřebujete:

(1.) Pokud zadáte data do sloupce A, tlačítko 1 je povoleno a tlačítko 2 je deaktivováno, viz snímek obrazovky:

snímek obrazovky zobrazující jedno tlačítko lze použít a jedno je deaktivováno na základě hodnoty ve sloupci A

(2.) Pokud zadáte data do sloupce C, tlačítko 2 je povoleno a tlačítko 1 je zakázáno, viz snímek obrazovky:

snímek obrazovky zobrazující jedno tlačítko lze použít a jedno je deaktivováno na základě hodnoty ve sloupci C

(3.) Sloupec A i sloupec C obsahují data, dvě tlačítka jsou všechna povolena, viz snímek obrazovky:

snímek obrazovky zobrazující obě tlačítka lze použít, když sloupce A a C obsahují data

(4.) Dvě tlačítka jsou deaktivována, pokud ve sloupci A a C nejsou žádná data, viz snímek obrazovky:

snímek obrazovky ukazující, že obě tlačítka jsou deaktivována, když ve sloupcích A a C nejsou žádná data


Povolte nebo zakažte tlačítko na základě dvou hodnot buněk s kódem VBA

Pokud chcete povolit nebo zakázat příkazové tlačítko na základě dvou hodnot buněk, například když je hodnota v A1 větší než hodnota v B1, tlačítko je povoleno, jinak je tlačítko deaktivováno. Následující kód VBA vám také může udělat laskavost.

1. Klikněte pravým tlačítkem na list obsahující tlačítko a vyberte Zobrazit kód z kontextové nabídky v Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte níže uvedený kód do prázdného modulu, viz snímek obrazovky:

Kód VBA: Povolte nebo zakažte tlačítko na základě dvou hodnot buněk:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim TargetAdd As String
    Dim xTemp As Double
    On Error GoTo ExitSub
    TargetAdd = Target.Address
    CommandButton1.Enabled = False
    If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
        If Range("A1") > Range("B1") Then
            CommandButton1.Enabled = True
        End If
    End If
ExitSub:
End Sub

snímek obrazovky ukazující, jak použít kód VBA k povolení nebo zakázání tlačítka

Pozor: Ve výše uvedeném kódu, A1 a B1 jsou hodnoty buněk, které používáte, Příkazové tlačítko1 je název tlačítka, změňte je na vlastní.

2. Poté uložte a zavřete okno kódu, nyní, pokud je hodnota buňky v A1 větší než B1, tlačítko je povoleno, jinak, pokud je hodnota buňky v A1 menší než B1, tlačítko je deaktivováno, viz snímek obrazovky:

snímek obrazovky ukazující různý stav tlačítka na základě hodnoty buňky


Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

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!