Jak účinně přidávat zaškrtávací políčka pomocí makra.

CheckBox Makro

V tomto článku navážu na šestý díl seriálu Tips and Tricks, kde jsem ukázal, jak přidat do excelové tabulky zaškrtávací políčko. Jelikož přidání jednoho políčka tímto způsobem zabere poměrně mnoho času. Dnes předvedu jak tento problém vyřešit rychle a efektivně pomocí makra. Návod je určen i pro méně zkušené uživatele.  

Poznámka: Zaškrtávací políčko takto propojené s konkrétní buňkou vrací hodnotu PRAVDA či NEPRAVDA.

Zkušební soubor ke stažení zde.

Kód makra:

Sub AddCheckBoxes()

Dim cb As CheckBox
Dim myRange As Range
Dim cel As Range
Dim wks As Worksheet

Set wks = Sheets("Seznam_ukolu") 'Zadejete název listu listu, na který budou políčka přidána
Set myRange = wks.Range("E2:E100") 'Zadejte oblast, na kterou budou políčka přidána

For Each cel In myRange
  Set cb = wks.CheckBoxes.Add(cel.Left, cel.Top, 30, 6) 'Můžete upravit zarovnání z leva a shora

With cb
  .Caption = ""
  .LinkedCell = cel.Address
End With

Next
End Sub

Návod: Vytvoření makra

  1. Stiskem kláves Alt+F11 se dostanete do prostředí VBA.
  2. V horním menu najedeme myší na ,,Insert". (Obr.1)
  3. Klikneme na ,,Module". (Obr.1)
  4. Vytvoří se ,,Module1" (Obr.2)
  5. Do ,,Module1" zkopírujeme kód uvedený nad návodem. A upravíme dle požadavků. (Obr.2)
  6. Pomocí tlačítka ,,Play" makro spustíme. Tím vytvoříme patřičné zaškrtávací políčka.(Obr.2)

Poznámka: Na úkony vykonané pomocí makra nelze použít tlačítko zpět.

CheckBox Makro
Obr.1
CheckBox Makro
Obr.2

Návod: Podmíněné formátování

Abychom zaškrtávací políčko nějak využili, nastavíme podmíněné formátování tak, aby ve chvíli kdy je políčko zaškrtnuté ,,úkol splněný". Popis úkolu změní barvu na zelenou. 

Skrytí nevzhledného textu pod políčkem

  1. Abychom předešli nevzhlednému textu pod políčkem. Označíme celý sloupec a nastavíme barvu textu tak, aby odpovídala pozadí a tím se text skryl. (Obr.3)
CheckBox Makro
Obr.3

Podmíněné Formátování

Nejprve označíme první řádek, kde formátování bude začínat. Poté pokračujeme bodem jedna.

  1. Myší najedeme na ikonu ,,Podmíněné formátování". (Obr.4)
  2. Zvolíme ,,Nové pravidlo...". (Obr.4)
  3. Klikneme na ,,Určit buňky k formátování pomocí vzorce". (Obr.5)
  4. Nastavíme logický vzorec tak, aby ve chvíli kdy je hodnota pole PRAVDA. Podmíněné formátování bude aktivní.
  5. Nastavíme formátování.

Formát vzorce:

=$E2=PRAVDA
CheckBox Makro
Obr.4
CheckBox Makro
Obr.5

Nastavení formátování

  1. Zvolíme záložku výplň.
  2. Vybereme barvu.
  3. Potvrdíme OK.
CheckBox Makro
Obr.6

Oblast působení podmíněného formátovaní

Nakonec zvolíme oblast, na které bude formátování působit.

CheckBox Makro
Obr.7

Hotový soubor ke stažení zde.

CheckBox Makro
Obr.8

4 thoughts on “Jak účinně přidávat zaškrtávací políčka pomocí makra.”

  1. “Skrytí nevzhledného textu pod políčkem”
    Není nutné dodatečně nastavovat bílou barvu textu, může se využít vlastní formát (;;;) 3x středník a to přímo v kódu

    cel.NumberFormat = “;;;”

  2. Dobrý den,

    Teprve se začínám prokousávat v makrech. Váš návod se mi hodí pro jeden můj projekt, ale když zadám tlačítko “Play” pro spuštění makra zobrazí se mi hláška “Run- time error 9: Subrscript out of range”. Prosím poraďte mi jak tuto chybu opravit.

    Děkuji

    S pozdravem

    Marešová

    1. Dobrý den,

      Chyba je pravděpodobně způsobena tím, že máte chybně pojmenovaný list, na kterém zaškrtávací pole přidáváte.

      Set wks = Sheets(“Seznam_ukolu”), v této části kódu je zapotřebí správně napsat do uvozovek název listu.

      Pokud by se list, na kterém chci makro spustit jsmenoval List1, tak kód bude vypadat takto:

      Set wks = Sheets(“List1”)

      S pozdravem
      Petr Hulínský

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *