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: 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:
  1. jednoduchý, môžete vybrať len jednu položku
  2. násobný, môžete vybrať viac položiek pomocou tlačidla CTRL a kliknutím
  3. 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 Ikona režim návrhu zapíšeme do vlastností:
Časť tabuľky VLASTNOSTI Potom sa premietne do bunky F9 zvolený dátum zo zoznamu 2.

Ovladacie prvky(Controls)

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: 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 Vlastnosti - properties, a zadáme pre dĺžku úrokovacieho obdobia napr. maximum 20 rokov a minimum 1 rok.

Zadanie maxima a minima.

V prípade horizontálneho posúvača pravým tlačidlom vyvoláme kontextové menu a zvolíme

Zadanie maxima a minima 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

Ovládací prvok

Tabuľka pre voľbu parametrov pôžičky

Amortizačná tabuľka

Vzorce v amortizačnej tabuľke

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
Valid HTML 4.01 Transitional
Stránka je v súlade s aktuálnymi normami.

©  Klára Mrázová