Výukový program pro začátečníky o psaní maker VBA v Excelu (a proč byste se měli učit)

  • Joseph Goodman
  • 0
  • 3897
  • 793
reklama

Makra Excelu vám mohou ušetřit spoustu času automatizací procesů aplikace Excel, které často používáte. Ale makra jsou ve skutečnosti docela omezená. S nástrojem pro nahrávání je snadné udělat chybu a proces nahrávání je nepříjemný.

Použití VBA k vytvoření maker vám dává mnohem více síly. Excelu můžete přesně říci, co má dělat a jak na to. Získáte také přístup k mnohem více funkcím a možnostem. Pokud používáte Excel pravidelně, vyplatí se naučit, jak vytvářet makra VBA.

Začneme se základy.

Co je VBA?

VBA je Visual Basic for Applications, programovací jazyk, který můžete použít v mnoha aplikacích společnosti Microsoft. Visual Basic je programovací jazyk a VBA je jeho konkrétní verzí. (Microsoft ukončil program Visual Basic již v roce 2008, ale VBA je stále silná).

Naštěstí pro neprogramátory je VBA velmi jednoduchá a rozhraní, které používáte k úpravám, nabízí spoustu pomoci. Mnoho příkazů, které použijete vyskakovací návrhy a automatické dokončení, vám pomůže rychle pracovat skript.

Přesto si VBA chvíli zvykne.

Výhody maker VBA v Excelu

Pokud je VBA obtížnější než zaznamenat makro, proč byste jej použili? Krátká odpověď zní, že z maker VBA získáte mnohem více energie.

Místo kliknutí na tabulku a zaznamenávání těchto kliknutí máte přístup k celé řadě funkcí a funkcí aplikace Excel. Musíte jen vědět, jak je používat.

A jakmile budete s VBA pohodlnější, můžete dělat všechno, co byste mohli dělat, v běžném makru za mnohem kratší dobu. Výsledky budou také předvídatelnější, jak říkáte Excel přesně tak co dělat. Neexistuje žádná dvojznačnost.

Jakmile vytvoříte makro VBA, můžete jej snadno uložit a sdílet, takže ho může využít kdokoli jiný. To je zvláště užitečné, když pracujete s mnoha lidmi, kteří potřebují udělat totéž v Excelu.

Podívejme se na jednoduché makro VBA a uvidíme, jak to funguje.

Příklad makra VBA v Excelu

Pojďme se podívat na jednoduché makro. Naše tabulka obsahuje jména zaměstnanců, číslo obchodu, kde zaměstnanci pracují, a jejich čtvrtletní tržby.

Toto makro přidá čtvrtletní prodeje z každého obchodu a zapíše tyto součty do buněk v tabulce (pokud si nejste jisti, jak otevřít dialog VBA, podívejte se na náš návod VBA zde):

Sub StoreSales () Dim Sum1 jako měna Dim Sum2 jako měna Dim Sum3 jako měna Dim Sum4 jako měna pro každou buňku v rozsahu ("C2: C51") Cell.Activate If IsEmpty (Cell) pak Exit For If ActiveCell.Offset (0, -1) = 1 Pak Sum1 = Sum1 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 2 Pak Sum2 = Sum2 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 3 Pak Sum3 = Sum3 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 4 Pak Sum4 = Sum4 + Cell.Value End Pokud je další rozsah buněk ("F2"). Hodnota = Sum1 Range ("F3"). Hodnota = Sum2 Range (" F4 "). Hodnota = Sum3 Range (" F5 "). Hodnota = Sum4 End Sub

Může to vypadat dlouho a komplikovaně, ale rozdělíme to, abyste mohli vidět jednotlivé prvky a naučit se něco o základech VBA.

Prohlášení sub

Na začátku modulu máme “Vedlejší prodejna ()”. Toto definuje nový díl s názvem StoreSales.

Můžete také definovat funkce - rozdíl spočívá v tom, že funkce mohou vracet hodnoty, a subs nemůže (pokud znáte jiné programovací jazyky, subs jsou ekvivalenty metod). V tomto případě nemusíme hodnotu vracet, takže používáme sub.

Na konci modulu máme “End Sub,” což Excelu říká, že jsme s tímto makrem VBA hotovi.

Deklarování proměnných

První řádky kódu v našem skriptu začínají “Ztlumit.” Dim je příkaz VBA pro deklaraci proměnné.

Tak “Dim Sum1” vytvoří novou proměnnou s názvem “Sum1.” Musíme však Excelu sdělit, o jakou proměnnou jde. Musíme si vybrat typ dat. Ve VBA existuje mnoho různých typů dat - úplný seznam najdete v dokumentech nápovědy společnosti Microsoft.

Protože naše makro VBA se bude zabývat měnami, používáme datový typ Měna.

Prohlášení “Dim Sum1 jako měna” říká Excelu, aby vytvořil novou měnovou proměnnou nazvanou Sum1. Každá proměnná, kterou deklarujete, musí mít “Tak jako” prohlášení, které říká Excelu jeho typ.

Spuštění smyčky

Smyčky jsou některé z nejsilnějších věcí, které můžete vytvořit v libovolném programovacím jazyce. Pokud nejste obeznámeni se smyčkami, podívejte se na toto vysvětlení smyček Do-while Jak fungují smyčky Do-while v počítačovém programování Jak fungují smyčky Do-while v počítačovém programování Smyčky jsou jedním z prvních typů řízení, které se naučíte v programování . Pravděpodobně víte něco o smyčkách a smyčkách, ale co se dosáhne smyčky do-while? . V tomto příkladu používáme smyčku For, která je také popsána v článku.

Jak vypadá tato smyčka:

Pro každou buňku v dosahu ("C2: C51") [banda věcí] Další buňka

To říká Excel iterovat přes buňky v rozsahu jsme zadali. Použili jsme objekt Range Pochopení buněk Excelu proti funkcím rozsahu ve VBA Pochopení buněk Excelu proti funkcím rozsahu ve VBA Používání funkcí Range a buněk v Excelu může být velmi matoucí. Zde je návod, jak je můžete využít způsoby, které jste si pravděpodobně nikdy nepředstavovali, pomocí VBA, což je specifický typ objektu ve VBA. Když to použijeme tímto způsobem Range (“C2: C51”) - to říká Excelu, že nás zajímá těch 50 buněk.

“Pro každého” říká Excelu, že s každou buňkou v rozsahu uděláme něco. “Další buňka” přichází po všem, co chceme udělat, a řekne Excelu, aby spustil smyčku od začátku (počínaje další buňkou).

Máme také toto prohlášení: “Pokud je IsEmpty (Cell), pak Exit For.”

Můžete hádat, co to dělá?

Poznámka: Přísně vzato, použití smyčky while může být lepší volbou 4 chyby, kterým se můžete vyhnout při programování maker Excelu s VBA 4 chyby, kterým se můžete vyhnout při programování maker Excelu s VBA Jednoduchý kód a makra jsou klíčem k supervelmocím aplikace Microsoft Excel. Dokonce i neprogramátoři mohou snadno přidat působivé funkce do svých tabulek pomocí Virtual Basics for Applications (VBA). Jen se vyhněte těmto chybám programátorských začátečníků! . Z důvodu výuky jsem se však rozhodl použít smyčku For s výstupem.

Prohlášení o tehdejších případech

Jádro tohoto konkrétního makra je v příkazech If-Then-Else. Zde je naše posloupnost podmíněných příkazů:

Pokud ActiveCell.Offset (0, -1) = 1 Pak Sum1 = Sum1 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 2 Pak Sum2 = Sum2 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 3 Pak Sum3 = Sum3 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 4 Pak Sum4 = Sum4 + Cell.Value End If

Z větší části můžete pravděpodobně uhodnout, co tato prohlášení dělají. Možná nebudete obeznámeni s ActiveCell.Offset. “ActiveCell.Offset (0, -1)” řekne Excelu, aby se podíval na buňku, která je jeden sloupec nalevo od aktivní buňky.

V našem případě to Excelu říká, aby nahlédlo do sloupce číslo obchodu. Pokud Excel v tomto sloupci najde 1, vezme obsah aktivní buňky a přidá ji do Sum1. Pokud najde 2, přidá obsah aktivní buňky do Sum2. A tak dále.

Excel prochází všechny tyto příkazy v pořádku. Pokud je podmíněné prohlášení Jak používat příkazy IF v aplikaci Microsoft Excel Jak používat příkazy IF v aplikaci Microsoft Excel Ať už jste zkušený odborník nebo začátečník tabulky, měli byste se podívat na tuto příručku k příkazům IF v aplikaci Excel. je spokojen, dokončí příkaz Then. Pokud ne, přesune se do dalšího ElseIf. Pokud se dostane až do konce a žádná z podmínek nebyla splněna, nebude podnikat žádné kroky.

Kombinace smyčky a podmíněností je to, co řídí toto makro. Smyčka řekne Excelu, aby prošel každou buňkou ve výběru, a podmínky jí řeknou, co s touto buňkou dělat.

Zápis hodnot buněk

Nakonec se dostaneme zapsat výsledky našich výpočtů do buněk. Zde jsou řádky, které k tomu používáme:

Rozsah ("F2"). Hodnota = Rozsah Sum1 ("F3"). Hodnota = Rozsah Sum2 ("F4"). Hodnota = Rozsah Sum3 ("F5"). Hodnota = Sum4

S “.Hodnota” a znaménko rovná se, nastavíme každou z těchto buněk na hodnotu jedné z našich proměnných.

A to je vše! Řekneme Excelu, že jsme dokončili psaní tohoto Sub s “End Sub,” a makro VBA je dokončeno.

Když spustíme makro pomocí Makra tlačítko v Vývojář kartu, dostáváme naše částky:

Spojování stavebních bloků VBA v Excelu

Když se poprvé podíváte na makro VBA výše, vypadá to docela složitě. Ale po rozdělení na jednotlivé součásti se logika vyjasní. Stejně jako jakýkoli skriptovací jazyk je třeba si zvyknout na syntaxi jazyka VBA.

Ale s praxí si budete sestavovat slovní zásobu VBA a budete moci psát makra rychleji, přesněji as mnohem větším výkonem, než byste je mohli kdykoli zaznamenat..

Když uvíznete, spuštění vyhledávání Google je rychlý způsob, jak odpovědět na vaše otázky VBA. A Microsoft Excel VBA reference může být užitečná, pokud jste ochotni kopat přes to pro technickou odpověď.

Až budete se základy spokojeni, můžete začít používat VBA pro věci, jako je odesílání e-mailů z Excelu, export úkolů aplikace Outlook Jak exportovat úkoly aplikace Outlook do aplikace Excel s VBA Jak exportovat úkoly aplikace Outlook do aplikace Excel s VBA Ať už jste, nebo ne fanoušek Microsoftu, jedna dobrá věc, kterou lze říci alespoň o produktech MS Office, je, jak snadné je integrovat každý z nich do sebe ... a zobrazování informací o vašem PC Jak zobrazit všechny informace o vašem PC pomocí jednoduchého Excel VBA Script Jak zobrazit všechny informace o vašem PC Pomocí jednoduchého Excel VBA Script Excel a 10 minut práce vám poskytne podrobnější informace o vašem počítači, než jste si kdy mysleli. Zní to příliš dobře, aby to byla pravda? To je Windows, pokud víte, jak ji používat. .




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.