Přeskočit navigaci | Přeskočit na novinky
     

Jste zde: Úvodní stránka » excel » vba-formulare » excel-vba-prvni-formular

VBA – první formulář

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Náš první formulář ve VBA

Úvod

Při programování aplikací ve VBA se neobejdeme bez formulářů. Cílem článku je ukázat jak vytvořit formulář a tento pomocí tlačítka na listě spustit. Jak budeme postupovat:

  1. Vytvoříme formulář s tlačítkem „ukončit“
  2. Na listě vytvoříme tlačítko „spusť formulář“

Vytvořit formulář

Ve Visual Basicu přes Insert - UserForm vytvoříme formulář.

MS Excel 2010 - Formulář

Obdržíme formulář a panel nástrojů. Pokud panel nástrojů nevidíme, tak přes menu View - ToolBox jej zobrazíme.

MS Excel 2010 - Formulář

Z ToolBoxu (Panel nástrojů) vložíme do formuláře tlačítko CommandButton (Příkazové tlačítko).

MS Excel 2010 - Formulář

Tlačítko umístíme na formulář a přes menu View – Properties Window (Vlastnosti) nebo F4 zobrazíme okno pro vlastnosti tlačítka.

MS Excel 2010 - Formulář

V položce Caption – nazveme naše tlačítko „ukončit

MS Excel 2010 - Formulář
Formulář je hotov jen přiřadí tlačítku funkci. Stačí 2x kliknout na tlačítko a doplníme kód (první a poslední řádek již je předpřipraven): Private Sub CommandButton1_Click() UserForm1. Hide End Sub. Kód

Doplnění tlačítka do listu

MS Excel 2010 - Formulář
Na listě obdobně přidáme tlačítko. Na kartě Vývojář Ovladací prvek ActiveX – Příkazové tlačítko.

Podobně přes vlastnosti tlačítko pojmenujeme na „Spusť formulář“. Dvojitým klikem doplníme kód:

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Vypneme režim návrhu (Režim návrhu v kartě Vývojář) a můžeme otestovat.

Hotovo

Vše by mělo chodit. Ukázku si můžete stáhnout.

MS Excel 2010 - Formulář

Hotový příklad ke stažení: Graf do formulare pomoci VBA makra. soubor ve formátu *.xls

Článek byl aktualizován: 01.11.2014 14:04

Odměna

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.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2000 (od 2004 ne této doméně) - Roku 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 také na on-line videích pro SEDUO. Školím a konzultuji, učím na MUNI. Hlavně tvořím tento web. Je zde k dispozici přes 1.000 návodu, tipů a triků včetně stovek různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře


Kady

Přidáno: 28.03.12 08:13

Používám na Praxi excel 2003 a příkaz show je označován jako chybný, proto bych se chtěl zeptat zda je možné použít tento příkaz i v starších excelech. Děkuji za odpověď na Kadajcz@gmail.com

Pavel Lasák

Přidáno: 28.03.12 20:41

To Kady: show funguje i v předchozí verzi (Excel 2003). PS: odeslano info emailem.

Kríko Luboš

Přidáno: 28.09.12 12:11

Dobrý deň! Máme verziu MS office 2010 a ked sa sanžíme použiť váš príklad na "rowsource" pri zadaní zoznamu do rozbalovacieho tlačítka neponúka nám túto funkciu resp.príkaz.Dá sa nejako doplniť? dakujem Kríko Prievidza

Pavel Lasák

Přidáno: 28.09.12 17:42

To Kríko Luboš: Zodpovězeno v článku, kterého se dotaz tyká http://office.lasakovi.com/excel/vba-formulare/excel-vba-formular-combobox-vyberove-pole/

rinma

Přidáno: 02.02.14 12:55

dobry den, nedari se mi prijit na par veci, popis je tady http://forum.zive.cz/viewtopic.php?f=958&t=1208128 hlavne nemuzu prijit na to, jak udelat to, aby se data z formulare zapisovala do tabulky a ne pod ni. dekuji za radu

Jenda

Přidáno: 04.04.15 08:40

rinma: odhadl bych, že je to kvůli používání stylu tabulky. Bude třeba rozšířit objekt tabuky, něco jako: ActiveSheet.ListObjects("Tabulka1").Resize Range(hodnotajaksemározšířit)

Štefan

Přidáno: 21.02.16 15:09

Ahoj, zkoušel jsem pomoci tlačítka otevřít formulář přes vba podle tvých, ale i jiných rad a nedaří se. Postup: Přes VBA si otevřu UserFrom. 2x na něj kliknu a co teť? Private Sub UserForm_Click() UserFrom1.Show End Sub V excelu vložim tlačitko active. Zkoušel jsem ruzne kody a nic nefunguje. Blbý nejsem,ale mám se co učit. Můžeš mi ftom pomoct? Dik.

Pavel Lasák

Přidáno: 17.04.16 21:39

To Štefan: Formulář s tlčítkem máš vytvořen? Tlačíko ActiveX na listě máš vloženo? Má tlačítko příslušné makro jak je uvedeno v článku? Máš povolené spuštění maker? Pokud vše ANO tak nevím jak na dálku poradit. Zkusti googlit chybu která se objeví.







Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Newsletter

Přihlaste se odběru novinek a získejte:
Ebook zdarma -
10 kroků ke zvládnutí (Word, Excel, PowerPoint)
Šipka Kniha 3D Více o ebooku ...

TOPlist Licence Creative Commons webarchiv rss XML

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 - 2017 | 25368

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.