Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
jaké ovládací prvky můžeme používat ve formulářích MS Excelu. Hlavně ve spojení s VBA...
Seznam ovládacích prvků pro formuláře ve VBA Microsoft Excelu:
Poznámka: Lze nainstalovat i další prvky, ale jejich kompatibilata při spuštění na jiném počítači je problematická. Proto se jimi v tomto článku nezabývám.
Výběr konkretního prvků se provádí pomocí panelu nástrojů.
Label (Popis) - se používá na formuláři pro zápis různých informací (popisný text, nadpis, název, jednotky, popisky, ...).
Poznámka: Label může být i obrázek.
Podrobněji v článku Label (Popis) ve formuláři VBA.
TextBox (Textové pole) je ovládacím prvkem, který se používá nejčastěji k získání informace od uživatele (hodnota, velikost, věk, jméno, ...). Na druhou stranu může TextBox, podobně jako label zobrazovat různé informace (napříkald současný stav).
Podrobněji v článku TextBox (Textové pole) ve formuláři VBA.
ComboBox (Pole se seznamem) je ovládacím prvkem, ze kterého uživatel může vložit (vybrat) hodnotu z určeného (danného) seznamu.
Podrobněji v článku ComboBox (Výběrové pole) ve formuláři VBA.
ListBox (Seznam) zobrazuje seznam hodnot a umožňuje výběr jedné nebo více z nich.
Podrobnější článek v přípravě.
CheckBox (Zaškrtavací políčko) poskytuje volbu mezi dvěma hodnotami jako například Ano/Ne, True/False, Zapnuto/Vypnuto. Zaškrtnutím CheckBox, se v políčku CheckBox objeví křížek. U nezaškrtnutého CheckBox je hodnota (Ne, False, Vypnuto).
Podrobněji v článku CheckBox (Zaškrtávací pole) ve formuláři VBA.
OptionButton (Přepínač) zobrazuje stav výběru prvku. Ovládací prvek OptionButton se používá k zobrazení, zda je vybrán jeden určitý prvek skupiny (tj. pouze jedná z možností.
Poznámka: Pro více nezávyslých možností se využívá ovladacího prvků Frame (Rámeček).
Podrobněji v článku OptionButton (Přepínač) ve formuláři VBA.
ToggleButton (Přepínací tlačítko) pro zobrazení zda je položky vybrána.
Podrobněji v článku ToggleButton (Přepínací tlačítko) ve formuláři VBA.
Frame (Rámeček) vytvoří skupinu ovládacích prvků, které spolu opticky i funkčně souvisejí. Využití například ve spojení s OptionButton - Přepínač, CheckBox - Zaškrtavací políčko). Například pro dotazníky, či seskupení souvisejících údajů (dodavatel, jeho adresa, IČO, ...)
Podrobnější článek v přípravě.
CommandButton (Příkazové tlačítko) zahajuje, ukončuje nebo přerušuje akci. Například spuštění makra, procedury.
Poznámka: Na tlačítko CommandButton lze rovněž umístnit text, obrázek nebo obojí.
Podrobněji v článku CommandButton (Tlačítko) ve formuláři VBA.
TabStrip (Karty) podobně jako Frame (Rámeček) lze do uspořádat do skupin logicky související prvky. Opticky vypadá na tento prvek velice dobře a zpřehlední práci se složitým formulářem.
Podrobnější článek v přípravě.
MultiPage (Vícenasobná stránka) je užitečná při práci s velkým množstvím informací, které lze setřídit do několika kategorií.
Podrobnější článek v přípravě.
ScrollBar (Posuvník) cituji z nápovědy Microsoftu: "Vrací nebo nastavuje hodnotu jiného ovládacího prvku, založeného na pozici v poli, které se posouvá."
Podrobněji v článku ScrollBar (Posuvník) ve formuláři VBA.
SpinButton (Číselník) - zvyšuje nebo snižuje hodnotu čísla. Při kliknutí se mění pouze hodnota SpinButton. SpinButton (Číselník) lze použít ke změně roku (měsíce, dne) v datu, k změně úrokové sazby, atd. SpinButton lze použít hodnot v určitém intervalu. SpinButton může být buď vodorovný nebo svislý.
Podrobněji v článku ScrollBar (Posuvník) ve formuláři VBA.
Tento prvek zobrazí na formuláři obrázek. Například můžeme zobrazovat fotky výrobků, zaměstanců, ...). Prvek Image (Obrázek) umožňuje další práci s obázkem (ořiznutí, zmenšení, zvětšení). Neumožní změnit obrázek (průhlednost, barvu, ...). Podporuje (*.bmp, *.gif, *.ico, *.jpg, *.wmf).
Poznámka: Obrázek lze zobrazit i v Label (Popis). Label neumožní další práci s obrázkem (zvětšovaní, ořez, ...).
Podrobněji v článku Image (Obrázek) vlastnosti ve VBA.
Hotový příklad ke stažení: Ovládací prvky formulářů
V tomto článku jsou souhrné informace o ovládacích prvcích formuláře pro VBA Excel. Jednotlivým ovládacím prvkům a jejich využití pomocí VBA se zabývám v následujících článcích.
Článek byl aktualizován: 19.09.2020 11:06
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 04.09.13 08:42
Zdravím všechny! Rád bych požádal o radu ohledně maker v XLS. Nějak se mi nedaří přijít na kloub následujícím věcem: Mám vytvořený dokument, který je jakýmsi seznamem zboží. Ten dokument vyplňuje pokaždé někdo jiný a při jeho spuštění by mělo vyskočit okno, kam by dotyčný vyplnil svoje jméno, jméno osoby co to kontrolovala a číslo seznamu, případně nějaké další údaje….aby to nemusel člověk zadávat ručně do jednotlivých buněk, ale vyplnilo by se to takto „samo“. Je možné někde najít makro, které by to umělo, případně, že bych si ho nějak upravil (pokusil se) ? A ještě by mi moc pomohla další rada: V daném dokumentu mám seznam zboží. U každého je ve sloupci A jeho stav SLOŽENO nebo NESLOŽENO. Pokud chci zjistit, které zboží nebylo složeno, použiji filtr a zakliknu NESLOŽENO (mám na to nahrané makro). Zobrazí se mi seznam zboží NESLOŽENO. Mám nahrané makro na vytištění celého zapsaného seznamu a potřeboval bych přidat makro na vytištění seznamu NESLOŽENO, tzn. kliknout na tlačítko TISKNI NESLOŽENÉ a seznam by se vytisknul. Snažil jsem se upravit makro na tisk všeho zboží, ale prostě se mi to nevede, nejde to. Bohužel ve VBA skoro neumím :( Co by bylo úplně super, ale nevím, jestli to je s použitím filtru vůbec reálné, kdyby se u zboží se stavem NESLOŽENÉ provedl součet kusů, případně i objem (jedná se o balení v litrech), prodejní cena atd. Budu rád, pokud mi někdo poradí, kde mám hledat např. návod, jak něco z mých dotazů vyřešit, případně pokud by někdo byl ochoten poradit přímo k věci, budu velmi vděčný (jakysek@sezam.cz). Moc bych se to chtěl naučit sám, ale zatím se to moc nevede. Děkuji všem a hezký den!
Přidáno: 02.06.14 22:40
Je možné nějak jednoduše u dynamicky přidaného ovládacího prvku tento prvek přidat do třídy či skupiny, tak aby se dalo pracovat následně s celou skupinou? Například odstranění pro celou skupinu? Existují ve VBA něco jako třídy a podtřídy objektů či nějaká alternativa? Děkuji
Přidáno: 05.09.14 13:17
Dobrý den, zajímalo by mě, zda se dá propojit fotoaparát přímo s formulářem v excelu tak, abych viděl živý náhled a po vyfotografování se mi obrázek uložil do listu. Děkuji
Přidáno: 17.11.14 10:54
Zdravím :) ráda bych použila ovládací prvek TabStrip přímo do listu nikoli v UserForm vyvolaného z listu tlačítkem. Dokázal by mi prosím někdo poradit jak poté nadefinovat skupině ovládacích prvků (TextBox, ComboBox), že patří pod tento TabStrip? Díky
Přidáno: 07.09.15 01:00
Jedná se o prvek OCX. Lze nastavit UserForm aby NormaX1 neházela chybu a průbeh hodnot byl v TextBoxu? Private Sub NormaX1_MeasurementReady() Dim dat As Variant Dim stat As Variant Dim state As Long Dim lWork As Worksheet Dim lColor As Long Dim rng As Range Dim mSec As Double Dim excelParanoia As Double Rem Fix the situation the Measurement Ready come soon as Measurement Started If (IsEmpty(Work)) Then Exit Sub End If Rem Read data from ActiveX component dat = data() stat = States() state = NormaX1.GetMeasurementData(dat, stat) Rem Determine actual time mSec = Timer() excelParanoia = Date Excel97Paranoia **Work.Cells(DataRow, 1).value = excelParanoia# + (mSec / 86400#) If (AutoFit) Then ** Work.Columns(1).EntireColumn.AutoFit AutoFit = False End If Rem Determine state and color of cell, 0-normal, 1-underrange, 2-overrange, 3-under and overrange Rem 4-Not Available, 8-Undefined, 128-Cop Power Factor For i = 1 To num Select Case stat(i - 1) Case 0 lColor = 2 Case 1 lColor = 6 Case 2 lColor = 3 Case Else lColor = 8 End Select Excel97Paranoia *****With Work.Cells(DataRow, i + 1) ***** .value = dat(i - 1) ***** .Interior.ColorIndex = lColor ***** End With Next End Sub
Přidáno: 09.10.15 19:15
Ahoj, mám listbox s cca 20 položkami a potřeboval bych vyřešit, jakým způsobem mohu provést zápis několika vybraných položek do jedné buňky (1.položka, 2.položka, 5.položka, ...). Trápím se s tím už druhý den a zatím jsem nepřišel na žádné řešení. Děkuji
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |