zpět

Hlavní stránka

Poslední aktualizace: 15.04.2006

VBA - Panel nástrojů 

Toolbox - Panel nástrojů 

Jak zobrazíme panel nástrojů? 
Pokud panel nevidíme přímo, 
můžeme ho zobrazit volbou 
Wiew / Toolbox
Panel vypadá asi takhle:

 

Pro zajímavost,
když zastavíte myší nad prvkem,
tak se zobrazí jeho název,
a kliknutím na prvek
se přesunete na jeho popis.

 

Doporučení: pokud měníte název prvku tzv. (Name), tak aby jste ho poznali,
je dobré používat předpony, které Vám napoví o typu prvku ...
např.:

Label - lb (lb_barva)

TextBox - tb (tb_jmeno)

ComboBox  - cb (cb_seznam)

 

... stejně tak není dobré používat diakritiku v názvech (češtinu je problém zobrazit v zahraničí)

... mimochodem v kódu tento znak ' slouží proto, aby programu řekl, že za ním následuje poznámka

 

Prvek se na formulář vloží tak, že klepnete prvek na Panelu nástrojů,
a následně klepnete na místo ve formuláři, kam prvek chcete umístnit.


Nebo:  Klepnete prvek na Panelu nástrojů, následně klepnete na místo ve formuláři,
ale držíte levé tlačítko stisknuté, a táhnutím myší rovnou definujete velikost prvku.

 

Poznámka

Zde se můžete podívat na pár tipů, jak upravit hotový formulář

 

 

Label - Popisek

Prvek určený k popisu, například Textového pole.

 

Tip: 

Změna obsahu viz. vlastnost Caption, popř. velikosti nebo barvy na základě události.

Kód:

lb_popisek.Caption = "Zadejte hodnotu" 'přiřazuje znění "Zadejte hodnotu"

 

Zde je příklad změny popisku

 

 

TextBox - Textové pole

Pole které slouží k vložení, nebo zobrazení hodnoty, zejména s vazbou na Combobox.

 

Tip:
Skryté textové pole - vlastnost: Visible - false.

 

Kód:

tb_barva.Value = "Černá"   'přiřazuje hodnotu "Černá" do tohoto pole - formát "text" nebo
tb_cislo.Value = 12            'přiřazuje hodnotu 12 do tohoto pole - formát "číslo"

 

 

ComboBox - Pole se seznamem
Prvek který nám nabízí několik hodnot, na základě kterých bude přiřazena výsledná volba.

 

Tip:
Jedné volbě (řádku) může být přiřazen libovolný počet výsledných parametrů.

 

Kód:

'kod který při nahrávání formuláře naplní ComboBox1 hodnotami seznamu

Private Sub UserForm_Initialize()
'příkaz AddItem přiřazuje hodnotu ... do seznamu hodnot seznamu

ComboBox1.AddItem ""
ComboBox1.AddItem "Pondělí"
ComboBox1.AddItem "Úterý" 

...

'první položku nechávám prázdnou, aby bylo možné "nevybrat nic"

 

ComboBox1.Style = fmStyleDropDownList    'Použij rozbalovací seznam
ComboBox1.BoundColumn = 0                      'Hodnoty rozbalovacího seznamu jsou hodnoty ListIndex
ComboBox1.ListIndex = 0                              'Nastav rozbalovacího seznamu na první položku

End Sub

 

'výsledná volba se pak pomocí události Click (ComboBox1_Click()) naplní 
'např. tb_Den_Jmeno výslednou hodnotou

Private Sub ComboBox1_Click()    '

  Select Case ComboBox1.Value     

    Case 0
            tb_Den_Jmeno = ""
            tb_Den_Cislo = 0

    Case 1
            tb_Den_Jmeno = "Pondělí"
            tb_Den_Cislo = 1

    Case 2
            tb_Den_Jmeno = "Úterý"
            tb_Den_Cislo = 2

  End Select

End Sub

 

Zde je příklad

        

 

ListBox - Seznam

Toto pole je podobné jako ComboBox, ale je specifické tím, 
že může mít v jednom řádku více sloupců.

 

Kód:

'kod který při nahrávání formuláře naplní ListBox1 hodnotami seznamu

Private Sub UserForm_Initialize()

ListBox1.AddItem "Item 1, Column 1"
ListBox1.List(0, 1) = ""                                'řádek 1, sloupec 1
ListBox1.List(0, 2) = ""                                'řádek 1, sloupec 2

ListBox1.AddItem "Item 2, Column 1"
ListBox1.List(1, 1) = "Pondělí"                     'řádek 2, sloupec 1
ListBox1.List(1, 2) = 1                                 'řádek 2, sloupec 2

ListBox1.AddItem "Item 3, Column 1"
ListBox1.List(2, 1) = "Úterý"                         'řádek 3, sloupec 1
ListBox1.List(2, 2) = 2                                  'řádek 3, sloupec 2

End Sub

 

Zde je příklad

 

 

CheckBox - Zaškrtávací pole

Prvek který slouží k vybrání hodnoty - parametr Ano / Ne ( true / false )

 

Tip:

Prvek může mít nastavenu výchozí hodnotu Ano / Ne viz. vlastnost Value - true (true / false)

Kód:

'kod který při nahrávání formuláře nastaví hodnotu chb_Mam_zajem

Private Sub UserForm_Initialize()

chb_Mam_zajem.Value = true                'nastaví hodnotu na Pravda (zatrhne)

End Sub

 

Zde je příklad

 

 

OptionButton - Přepínač

Prvek který slouží k vybrání hodnoty - parametr Ano / Ne ( true / false )

Většinou se ale používá ve skupině navzájem svázaných přepínačů pomocí prvku Frame - Rám.

 

Tip:

Prvek může mít nastavenu výchozí hodnotu Ano / Ne viz. vlastnost Value - true (true / false)

Kód:

'kod který při nahrávání formuláře nastaví hodnotu prvku

Private Sub UserForm_Initialize()

ob_Umim_malo.Value = true                'nastaví hodnotu na Pravda (zatrhne)
ob_Umim_dobre.Value = false                'nastaví hodnotu na Nepravda (odtrhne)
ob_Umim_vyborne.Value = false                'nastaví hodnotu na Nepravda (odtrhne)
End Sub

 

Zde je příklad

 

 

Frame - Rámeček ( skupina voleb )

Rám pro definování Přepínačů, které se navzájem budou ovlivňovat.

 

 

Button - Příkazové tlačítko

I když události ve formuláři lze spustit různě, třeba i kliknutím na tělo formuláře, uživatel pro vyvolání akce očekává tlačítko jako je OK nebo Zrušit atd.

Tip:

Pomocí tlačítka můžete třeba i měnit barvu formuláře - vlastnost BackColor ...
nebo velikost frm 
- vlastnost Width nebo Height

 

'tady je vhodné podívat se do konkrétního případu, co se má dít po stisknutí tlačítka

Zde je příklad na to , jak se dá měnit barva frm tlačítkem.

 

 

MultiPage - Vícenásobná stránka

Pokud máte málo místa na frm, můžete použít Karty pro lepší uspořádání, 
popř. členění podle významu prvků.

 

Zde je příklad

 

SpinButton - Číselník

Tento prvek je většinou vázán na textové pole, a naopak, takže změnou hodnoty nahoru / dolů ( + / - )
se mění hodnota textového pole.

 

Tip:

Vlastnost prvku Max určuje maximální hodnotu prvku ...

Vlastnost prvku Min určuje minimální hodnotu prvku ...

Vlastnost prvku SmallChange určuje hodnotu kroku prvku ...
Vlastnost prvku Delay určuje, pokud držíte spinbutton, za jakou dobu se změní hodnota o krok ...

Pomocí události SpinButton.Change můžeme nastavit, 
že po dosažení maxima se hodnota nastaví na hodnotu 0 apod. ...

 

Zde je příklad konkrétního případu, co se má dít po stisknutí tlačítka, nebo změně hodnoty pole

 

 

SrollBar - Posuvník

Posuvník, kterým lze měnit hodnotu, např. Textového pole

 

Zde je příklad

 

Image - Obrázek

Pole pro vložení obrázku.

 

Tip: 

Obrázky lze na základě události měnit.

 

Zde je příklad 

 

RefEit - Pole adresy
Toto pole slouží k zadání adresy buňky (buněk), asi znáte z Excelu při zadávání do funkcí.

Zde je příklad


ToogleButton - Přepínací tlačítko

Tento prvek je tlačítko, které může mít jen funkci jako přepínač,
tedy hodnotu Pravda / Nepravda (True / False).
Kdy při stisknutí (zamáčknutém stavu) má hodnotu Pravda
a při nestisklém stavu má hodnotu Nepravda.
Tento prvek je dost neobvyklý, a téměř nepoužívaný, protože mnohem lépe
ho nahradí prvek Přepínač, který je mnohem transparetnější.


TabStrip - Karty

Toto je prvek také dost neobvyklý, a téměř nepoužívaný, protože mnohem lépe
ho nahradí prvek Vícenásobná stránka, který je mnohem přehlednější.

 

Nyní můžete pokračovat do sekce jak tvořit vlastní funkce,
nebo do sekce jak psát makra.