VBA v Excelu: Co je Visual Basic pro aplikace, jak se používá
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Rád bych rozšířil moudrá slova Steva Jobse a řekl, že každý na světě by se měl naučit programovat počítač. Možná nebudete muset skončit jako programátor nebo psát programy, ale naučí vás myslet.
Co je Visual Basic for Applications (VBA)?
Visual Basic for Applications (VBA) je událostmi řízený programovací jazyk implementovaný pomocí Microsoft k vývoji aplikací Office. VBA pomáhá rozvíjet automatizační procesy, Windows API a uživatelem definované funkce. Umožňuje vám také manipulovat s funkcemi uživatelského rozhraní hostitelských aplikací.
Než půjdeme do dalších podrobností, podívejme se, co je to počítačové programování v laickém jazyce. Předpokládejme, že máte služku. Pokud chcete, aby pokojská uklízela dům a prala. Řeknete jí, co má dělat, pomocí řekněme angličtiny a ona to udělá za vás. Při práci s počítačem budete chtít provádět určité úkoly. Stejně jako jste řekli pokojské, aby dělala domácí práce, můžete také říct počítači, aby úkoly dělal za vás.
Proces sdělování počítači, co chcete, aby pro vás udělal, se nazývá počítačové programování. Stejně jako jste použili angličtinu k tomu, abyste řekli pokojské, co má dělat, můžete také použít anglické příkazy k tomu, abyste počítači řekli, co má dělat. Výroky podobné angličtině spadají do kategorie jazyků na vysoké úrovni. VBA je jazyk na vysoké úrovni, který můžete použít k přizpůsobení Excelu vaší vůli.
VBA je ve skutečnosti podmnožinou jazyka Visual Basic 6.0 BASIC Bzačátečníci All-Purpose Ssymbolický Iinstrukce Códa.
Proč VBA?
VBA vám umožňuje používat příkazy podobné angličtině k psaní pokynů pro vytváření různých aplikací. VBA se snadno učí a má snadno použitelné uživatelské rozhraní, ve kterém stačí přetáhnout ovládací prvky rozhraní. Umožňuje také vylepšit funkčnost Excelu tím, že se bude chovat tak, jak chcete.
Osobní a obchodní aplikace VBA v Excelu
Pro osobní použití jej můžete použít pro jednoduchá makra, která zautomatizují většinu vašich rutinních úkolů. Přečtěte si článek o makrech, kde najdete další informace o tom, jak toho můžete dosáhnout.
Pro obchodní použití můžete vytvářet kompletní výkonné programy poháněné excelem a VBA. Výhodou tohoto přístupu je, že můžete využít výkonné funkce Excelu ve svých vlastních programech.
Úvod do jazyka Visual Basic for Applications
Než budeme moci napsat jakýkoli kód, musíme nejprve znát základy. Následující základy vám pomohou začít.
- Proměnlivý – na střední škole jsme se učili o algebře. Najděte (x + 2y), kde x = 1 a y = 3. V tomto výrazu jsou x a y proměnné. Mohou jim být přiřazena libovolná čísla, tj. 1 a 3 jako v tomto příkladu. Mohou být také změněny na řekněme 4 a 2. Proměnné jsou ve zkratce místa v paměti. Při práci s VBA Excel budete muset také deklarovat proměnné, stejně jako v algebraických třídách
-
Pravidla pro vytváření proměnných
- Nepoužívejte vyhrazená slova – pokud pracujete jako student, nemůžete používat titul lektor nebo ředitel. Tyto tituly jsou vyhrazeny pro lektory a vedení školy. Vyhrazená slova jsou slova, která mají speciální význam v Excel VBA a jako taková je nemůžete použít jako názvy proměnných.
- Názvy proměnných nemohou obsahovat mezery – nelze definovat proměnnou s názvem první číslo. Můžete použít firstNumber nebo first_number.
- Používejte popisná jména – je velmi lákavé pojmenovat proměnnou po sobě, ale vyhněte se tomu. Použijte popisné názvy, tj. množství, cenu, mezisoučet atd. Díky tomu bude váš kód Excel VBA snadno čitelný
-
Aritmetické operátory – pravidla Brackets platí dělení násobení sčítání a odčítání (BODMAS), takže je nezapomeňte použít při práci s výrazy, které používají více různých aritmetických operátorů. Stejně jako v Excelu můžete použít
- + pro doplnění
- – pro odčítání
- * pro násobení
- / pro rozdělení.
-
Logické operátory – Koncept logických operátorů popsaný v předchozích výukových programech platí také při práci s VBA. Mezi ně patří
- Pokud prohlášení
- OR
- NENÍ
- A AUTOMATIZACI
- TRUE
- NEPRAVDIVÉ
Jak povolit kartu Vývojář
Níže je uveden postup krok za krokem, jak povolit kartu vývojáře v aplikaci Excel:
- Vytvořte nový sešit
- Klikněte na tlačítko Start na pásu karet
- Vyberte možnosti
- Klikněte na přizpůsobit pás karet
- Zaškrtněte políčko vývojáře, jak je znázorněno na obrázku níže
- klepněte na tlačítko OK
Nyní na pásu karet uvidíte kartu VÝVOJÁŘ
VBA Ahoj světe!
Nyní si ukážeme, jak programovat v programovacím jazyce VBA. Všechny programy ve VBA musí začínat „Sub“ a končit „End sub“. Zde je název názvem, který chcete svému programu přiřadit. Zatímco sub znamená podprogram, který se naučíme v pozdější části tutoriálu.
Sub name() . . . End Sub
Vytvoříme základní VBA program, který zobrazí vstupní pole pro dotaz na jméno uživatele a poté zobrazí uvítací zprávu
Tento výukový program předpokládá, že jste dokončili výukový program na Makra v excelu a povolili kartu VÝVOJÁŘ v Excelu.
- Vytvořte nový sešit
- Uložte jej ve formátu listu *.xlsm s povoleným makrem aplikace Excel
- Klikněte na kartu VÝVOJÁŘ
- Klikněte na rozevírací seznam VLOŽIT pod ovládacím panelem pásu karet
- Vyberte příkazové tlačítko, jak je znázorněno na obrázku níže
Nakreslete příkazové tlačítko kdekoli na listu
Zobrazí se následující dialogové okno
- Přejmenujte název makra na btnHelloWorld_Click
- Klikněte na nové tlačítko
- Zobrazí se následující okno kódu VBA
Zadejte následující kódy pokynů
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
TADY,
- „Ztlumit jméno jako řetězec“ vytvoří proměnnou s názvem name. Proměnná bude přijímat text, číslice a další znaky, protože jsme ji definovali jako řetězec
- „jméno = vstupBox("Zadejte své jméno")" volá vestavěnou funkci InputBox který zobrazí okno s titulkem Zadejte své jméno. Zadaný název se pak uloží do proměnné name.
- "MsgBox "Ahoj" + jméno" volá vestavěnou funkci MsgBox které zobrazují Hello a zadané jméno.
Vaše kompletní okno kódu by nyní mělo vypadat následovně
- Zavřete okno s kódem
- Klikněte pravým tlačítkem na tlačítko 1 a vyberte upravit text
- Zadejte pozdrav
- Klikněte na Say Hello
- Získáte následující vstupní pole
- Zadejte své jméno, tj. Jordan
- Zobrazí se následující okno se zprávou
Gratulujeme, právě jste vytvořili svůj první program VBA v Excelu
Krok za krokem příklad vytvoření jednoduchého kalkulátoru EMI v Excelu
V tomto výukovém cvičení vytvoříme jednoduchý program, který vypočítá EMI. EMI je zkratka pro Equated Monthly Instalment. Je to měsíční částka, kterou splácíte, když získáte půjčku. Následující obrázek ukazuje vzorec pro výpočet EMI.
Výše uvedený vzorec je složitý a lze jej napsat v Excelu. Dobrou zprávou je, že excel se o výše uvedený problém již postaral. K výpočtu výše uvedeného můžete použít funkci PMT.
Funkce PMT funguje následovně
=PMT(rate,nper,pv)
TADY,
- "hodnotit" toto je měsíční sazba. Je to úroková sazba dělená počtem plateb za rok
- "nper" je to celkový počet plateb. Je to doba půjčky vynásobená počtem plateb za rok
- "pv" současná hodnota. Jde o skutečnou výši půjčky
Vytvořte GUI pomocí buněk Excel, jak je znázorněno níže
Přidejte příkazové tlačítko mezi řádky 7 a 8
Dejte makru tlačítka název btnCalculateEMI_Click
Klikněte na tlačítko upravit
Zadejte následující kód
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
TADY,
- “Dim month_rate As Single,…” Dim je klíčové slovo, které se používá k definování proměnné ve VBA, month_rate je název proměnné, Single je datový typ, který znamená, že proměnná bude přijímat číslo.
- „monthly_rate = Range(“B6”).Hodnota / Range(“B5″).Value” Rozsah je funkce používaná pro přístup k buňkám aplikace Excel z jazyka VBA, rozsah („B6“). Hodnota odkazuje na hodnotu v B6
- "WorksheetFunction.Pmt(…)" WorksheetFunction je funkce používaná pro přístup ke všem funkcím v Excelu
Následující obrázek ukazuje kompletní zdrojový kód
- Klikněte na uložit a zavřete okno s kódem
- Otestujte svůj program, jak je znázorněno na animovaném obrázku níže
Jak používat VBA v Excelu Příklad
Následující kroky vysvětlí, jak používat VBA v Excelu.
Krok 1) Otevřete editor VBA
Na kartě Vývojář z hlavní nabídky klikněte na ikonu „Visual Basic“ a otevře se váš editor VBA.
Krok 2) Vyberte list Excel & Double klikněte na pracovní list
Otevře se editor VBA, odkud můžete vybrat list Excelu, kde chcete spustit kód. Chcete-li otevřít editor VBA, dvakrát klikněte na pracovní list.
Otevře se editor VBA na pravé straně složky. Bude to vypadat jako bílé místo.
Krok 3) Napište cokoli, co chcete zobrazit ve zprávě MsgBox
V tomto kroku uvidíme náš první program VBA. Ke čtení a zobrazení našeho programu potřebujeme objekt. Ve VBA je tento objekt nebo médium ve zprávě MsgBox.
- Nejprve napište „Sub“ a poté „název programu“ (Guru99)
- Napište cokoli, co chcete zobrazit ve zprávě MsgBox (guru99-učení je zábava)
- Ukončete program pomocí End Sub
Krok 4) Klikněte na zelené tlačítko spustit v horní části editoru
V dalším kroku musíte tento kód spustit kliknutím na zelené tlačítko spustit v horní části nabídky editoru.
Krok 5) Vyberte list a klikněte na tlačítko „Spustit“.
Po spuštění kódu se objeví další okno. Zde musíte vybrat list, na kterém chcete program zobrazit, a kliknout na tlačítko „Spustit“.
Krok 6) Zobrazit zprávu ve zprávěBox
Když kliknete na tlačítko Spustit, program se spustí. Zobrazí zprávu ve zprávě MsgBox.
Stáhněte si výše uvedený kód Excel
Shrnutí
VBA Full Form: Visual Basic for Application. Je to dílčí komponenta Visual Basic programovacího jazyka, kterou můžete použít k vytváření aplikací v Excelu. S VBA můžete stále využívat výkonné funkce Excelu a používat je ve VBA.