Ovládacie prvky ActiveX
Na pracovný hárok (list) môžete pridať ovládacie prvky (controls), ktoré
zjednodušia prácu používateľa. Ovládacie prvky sú
grafické objekty umiestnené na pracovný hárok alebo formulár, kde
slúžia na zobrazovanie a zadávanie údajov, vykonávanie akcií.
Ide o objekty, ako sú
textové polia, zoznamy, prepínače, tlačidlá s príkazmi, rozbaľovacie polia
a pod. Vlastnosti ovládacích prvkov môžeme zmeniť, napr vzhľad,
názov ovládacieho prvku a mnohé iné. V tomto príklade sa oboznámime s:
- prepínacím políčkom - prepínač (OptionButton)
- tlačidlo s príkazom-príkazove tlačítko (CommandButton)
- zoznam(ListBox)
Keď potrebujete pridať ovládaci prvok, môžete vo väčšine prípadov
použiť ovládacie prvky ActiveX z panela s nástrojmi
Ovládacie prvky. V nasledujúcom príklade
(Obr.1) v piatom stĺpci, v oblasti E9:E20 sú zapísané dátumy, ktoré
budeme potrebovať v zozname 2. Nie je potrebné, aby boli tieto údaje viditeľné,
preto zvolíme farbu písmen takú ako je podklad a zúžime stĺpec. J
e pravda, že táto oblasť by sa mohla urobiť skrytou, pomocou
Formát-Bunky-Vlastné a natypovaním ;;;(troch bodkočiarok),
ale v tom prípade by zvolený dátum nebol viditeľný ani v zozname 2.
Zoznam nazývame niekedy aj rolovací zoznam, lebo nezobrazuje
všetky možnosti, ale len ich časť, pre zobrazenie ďalších častí
máme k dispozícii svislý posuvník. Existujú tri druhy zoznamov:
- jednoduchý, môžete vybrať len jednu položku
- násobný, môžete vybrať viac položiek pomocou tlačidla CTRL a kliknutím
- rozšírený, ide o výber za sebou nasledujúcich prvkov, pomocou klávesy SHIFT.
Aby sa položky zobrazili v zozname 2 (ListBox2), v režime návrhu
zapíšeme do vlastností:
Potom sa premietne do bunky F9 zvolený dátum zo zoznamu 2.
Pre manipuláciu so zoznamom 1 zapíšeme v editore VisualBasic-u nasledujúci program:
Dim obl As Range
Private Sub CommandButton1_Click()
'Zápis do ListBoxu
Set obl = Range(Cells(9, 7), Cells(20, 7))
obl = "" ' vymaže obsah buniek v oblasti
With ListBox1
.Clear
.AddItem "1.1.2004" ' vkladá jednotlivé položky
.AddItem "1.2.2004"
.AddItem "1.3.2004"
.AddItem "1.4.2004"
.AddItem "1.5.2004"
.AddItem "1.6.2004"
.AddItem "1.7.2004"
.AddItem "1.8.2004"
.AddItem "1.9.2004"
.AddItem "1.10.2004"
.AddItem "1.11.2004"
.AddItem "1.12.2004"
End With
End Sub
Private Sub CommandButton2_Click()
'Zápis výberu
Dim x As Integer
With ListBox1
If .MultiSelect = fmMultiSelectSingle Then
If IsNull(.Value) Then
MsgBox "Nezvolili ste žiadný dátum!"
Else
Cells(9, 7) = .Value
End If
Else
For x = 0 To .ListCount - 1
i = i + 1
If .Selected(x) Then
Cells(i + 8, 7) = ListBox1.List(x)
End If
Next x
End If
End With
End Sub
Private Sub OptionButton1_Click()
Set obl = Range(Cells(9, 7), Cells(20, 7))
obl = ""
ListBox1.MultiSelect = fmMultiSelectSingle
End Sub
Private Sub OptionButton2_Click()
Set obl = Range(Cells(9, 7), Cells(20, 7))
obl = ""
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub OptionButton3_Click()
Set obl = Range(Cells(9, 7), Cells(20, 7))
obl = ""
ListBox1.MultiSelect = fmMultiSelectExtended
End Sub
Po voľbe z troch možností pomocou prepínačov a kliknutí na
tlačidlo Zápis do ListBoxu sa zaplní zoznam 1.
Potom môžeme z tohoto zoznamu zvoliť dátum/y. Kliknutím na
tlačidlo Zápis výberu sa zaplní buď celá oblasť G9:G20, alebo
len jej časť.
V nasledujúcom uvediem príklad pre zostavenie amortizačnej tabuľky, s možnosťou voľby úrokovej sadzby, výšky pôžičky a dĺžky úrokového obdobia. Ako je vidieť na Obr.3, na hárok je treba vložiť 3 prepínače (OptioButton) pre voľbu úrokovej sadzby, 1 príkazové tlačidlo (CommnadButton),1 zoznam (ListBox) a dva posúvače:
- vertikálny posúvač (ScrollBar1)
- horizontálny posúvač (posúvač)
Verikálny posúvač je vložený z panela nástrojov ovládacie prvky, kým
horizontálny posúvač je vložený z panela nástrojov formuláre.
Pre vertikálny posúvač určíme vlastnosti pomocou ikony
, a zadáme pre dĺžku úrokovacieho
obdobia napr. maximum 20 rokov a minimum 1 rok.
.
V prípade horizontálneho posúvača pravým tlačidlom vyvoláme kontextové menu a zvolíme
a v okne, ktoré
sa zobrazí (Obr.2), zadáme minimálnu a maximálnu hodnotu parametru,
podľa ktorého, vzorcom určíme zvolenú výšku pôžičky a zadáme aj prepojenie
na bunku, t.j. bunku, v ktorej sa má zobraziť zvolená výška pôžičky.
V našom príklade je zadané prepojenie na bunku $C$15.
Jej obsah urobíme neviditeľným zadaním rovnakej farby písma a podkladu.
Pretože maximálnu hodnotu môžeme zadať len 30 000, do bunky D6
hárku Pôžičky vložíme vzorec = C15*20 (maximum zvýšime na 600 000).
Vzorce, ktoré sú vložené do buniek v stĺpci B (Obr.4) sú
zobrazené na Obr. 5. Pre ListBox zabezpečíme vo vlastnostiach
prepojenie s bunkou C1 hárku Amortizácia (Amortizácia!C1).
Príkazové tlačidlo Amortizačná tabuľka opatríme krátkym kódom:
Private Sub CommandButton1_Click()
Sheets("Amortizácia").Activate
End Sub
Oba projekty boli vypracované v Excel 2000 pod OS Windows XP.
Stiahnite si súbor listbox.zip
Veľkosť: 22 kB
Stiahnite si súbor kontroly.zip
Veľkosť: 19 kB

Stránka je v súlade s aktuálnymi normami.
© Klára Mrázová