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

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

UserForm - praktické příklady - Excel

Videokurzy Excel

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

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: 19.09.2020 11: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 - autor webu

Pavel Lasák

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ů.

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


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.






Excel


Sdílejte

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

Nové články


Reklama


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 - 2024 |