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

Nový videokurz na Seduo: Excel pro začátečníky

     

Jste zde: Úvodní stránka » excel » vba-formulare » userform-prakticke-priklady-excel-vba

UserForm - praktické příklady - Excel


UserForm (formuláře) praktické příklady s formuláři v MS Excelu - aneb třeba se Vám bude hodit.

Úvodem - kódy pro UserForm

Cílem článku je poskytnout kódy pro práci s UserForm. Co jsem potřeboval při řešení svých Excelovských aplikací ve VBA.

Hodnota do buňky

Hodnotu z TextBoxu předá do příslušné buňky.

Range("B10").Value = TextBox1.Text Range("B11").Value = TextBox1.Value

Automatické uzavření formuláře

Jak uzavřít automaticky formulář po vložení hodnoty do ComboBox (Výběrové pole).

Private Sub ComboBox1_Change() Unload UserForm1 MsgBox ("Pravě byl odstraněn formulář :)") End Sub

Automatický výpočet

Jak provést automatický výpočet ve formuláři. Využívá metodu Change.

Dim MojeCislo(1 To 2) As Double TextBox3.Value = TextBox1.Value + TextBox2.Value hodnota1 = TextBox1.Value hodnota4 = hodnota1 + hodnota2 TextBox3.Value = TextBox1.Value + TextBox2.Value TextBox4.Value = TextBox1.Text + TextBox2.Text MojeCislo(1) = TextBox1.Value MojeCislo(2) = TextBox2.Value TextBox5.Value = MojeCislo(1) + MojeCislo(2)

Je zadáno číslo?

Zkontroluje zda je zadáno číslo. Pokud ne obdrží uživatel informaci (dialogové okno).

Private Sub TextBox2_Change() If Not IsNumeric(TextBox2.Value) And TextBox2.Value <> vbNullString Then MsgBox "Není číslo." TextBox2.Value = vbNullString End If End Sub

Úprava kódu pokud se kontroluje více textových polí (textBox)

Private Sub OnlyNumbers() If TypeName(Me.ActiveControl) = "TextBox" Then With Me.ActiveControl If Not IsNumeric(.Value) And .Value <> vbNullString Then MsgBox "Tohle není číslo! :)" .Value = vbNullString End If End With End If End Sub Private Sub TextBox1_Change() OnlyNumbers End Sub Private Sub TextBox3_Change() OnlyNumbers End Sub

Je zadáno číslo?

Další příklady v přípravě, případně se pokusím zodpovědět případné dotazy.

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

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

Pavel Lasák - autor webu

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2006. Své vědomosti a zkušenosti dávám k dispozici na různých školeních a konzultacích, ale také na tomto webu. K dispozici na tomto webu je mnoho návodu, tipů a triků včetně desítek různých šablon.

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

Doporučte tento článek přátelům

Pokud vám článek pomohl, případně si myslíte, že může pomoci i někomu dalšímu, budu rád když jej sdílením doporučíte přátelům - děkuji:



Komentáře


Jan

Přidáno: 09.11.12 15:23

Dobrý den, je možné aby se nespustila sub na změnu hodnoty objektu, když se právě vykonává a udělám změnu její hodnoty? Děkuji

Pavel Lasák

Přidáno: 09.11.12 16:00

To Jan: Pozastavit zychytávaní události lze: Application.EnableEvents = FALSE vypnuto zachytávaní události Application.EnableEvents = TRUE

Jan

Přidáno: 11.11.12 18:48

Děkuji, ale nefunguje mi to. Zkoušel jsem i na celý formulář při aktivaci, ale jako bych tam tento příkaz nedal. Můžete mi pomoci? děkuji.

Pavel Lasák

Přidáno: 11.11.12 20:35

To Jan: Prosím pošleteukázku na lasak@centrum.cz zkusím se na to podívat.

Petr

Přidáno: 12.12.12 11:20

Dobrý den, chtěl bych použít v UserForm komponentu ChartSpace, nevím ale jak na to. Jakákoliv reference na Chart, napr. ChartSpace1.Visible = True vráci chybu 424. Poraďte mi prosím jak začít.

Adam

Přidáno: 13.12.13 10:57

Dobrý den, mám dva dotazy: 1) mám vytvořený nějaký formulář ve VBA a chtěl bych, aby se po otevření souboru otevřel jenom ten formulář (tzn. aby se nezobrazovalo prostředí excelu, ale samozřejmě, že bude prostředí excelu např. minimalizovano) 2)mám nasdílený sešit, tak aby excel mohlo používat více uživatelů, ale ve sdíleným sešitě nelze použít kontingenční tabulku ani rozšířený filtr, dálo by se to nějak obejít přes VBA kody. Děkují moc Adam

Osvald Kaplan

Přidáno: 05.05.14 15:32

Dobrý den, potřeboval bych pomoct s tímto problémem. Mám UserForm a v něm dva ComboBoxy. Hodnoty do nich zadané potřebuji mezi sebou vynásobit a zapsat do ListBoxu ve stejném formuláři.


Přidání nového komentáře

Poznámka: Z časových důvodu není v mých sílách zodpovědět všechny dotazy. Děkuji za pochopení.




(vlož číslo padesátpět)

Z bezpečnostních důvodu dočasně nemůžete použít HTML značky, kromě <code> a </code> (pro vkládání VBA kódu). Děkuji za pochopení.
Děkuji, za Vaše komentáře.

Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu. V komentářích si tykáme. ;-)






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 - 2016 | 15558

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