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

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

Makra Excelu vám mohou ušetřit spoustu času automatizaci často používaných procesů aplikace Excel . Makra jsou ale ve skutečnosti dosti 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 vytváření maker vám dává mnohem větší sílu. Excelu můžete přesně říci, co má dělat a jak to udělat. Získáte také přístup k mnohem více funkcím a možnostem. Pokud používáte Excel pravidelně, stojí za to se naučit vytvářet makra VBA.





Začneme od základů.





Co je VBA?

VBA je Visual Basic pro aplikace , programovací jazyk, který můžete použít v mnoha aplikacích Microsoftu. Visual Basic je programovací jazyk a VBA je jeho verzí pro konkrétní aplikaci. (Společnost Microsoft ukončila Visual Basic 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 jeho úpravám, nabízí velkou pomoc. Mnoho příkazů, které použijete, zobrazí vyskakovací návrhy a automatické dokončování, což vám pomůže rychle pracovat se skriptem.



Přesto si VBA chvíli zvyká.

Výhody maker VBA v aplikaci Excel

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





Namísto klikání na tabulku a zaznamenávání těchto kliknutí můžete získat přístup k celé řadě funkcí a možností aplikace Excel. Musíte jen vědět, jak je používat.

jak založit tumblr blog

A jakmile vám bude VBA více vyhovovat, můžete dělat všechny věci, které byste mohli dělat v běžném makru, za mnohem kratší dobu. Výsledky budou také předvídatelnější, jak říkáte Excelu přesně co dělat. Není tam žádná nejasnost.





Jakmile vytvoříte makro VBA, je snadné jej uložit a sdílet, aby jej mohl využít kdokoli jiný. To je obzvláště užitečné, když pracujete s mnoha lidmi, kteří potřebují dělat stejné věci v Excelu.

Podívejme se na jednoduché makro VBA, abychom zjistili, jak funguje.

Příklad makra VBA v Excelu

Podívejme se 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í tržby z každého obchodu a zapíše je do buněk v tabulce (pokud si nejste jisti, jak se dostat do dialogu VBA, podívejte se na náš návod VBA zde ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

Může to vypadat dlouho a komplikovaně, ale rozdělíme to, abyste viděli jednotlivé prvky a dozvěděli se něco o základech VBA.

Prohlášení sub

Na začátku modulu máme 'Sub StoreSales ()'. To definuje nový díl s názvem StoreSales.

Můžete také definovat funkce --- rozdíl je v tom, že funkce mohou vracet hodnoty a podmnožiny nemohou (pokud jste obeznámeni s jinými programovacími jazyky, jsou dílčí ekvivalenty metod). V tomto případě nepotřebujeme vracet hodnotu, takže používáme sub.

Na konci modulu máme 'End Sub', který říká Excelu, že jsme s tímto makrem VBA skončili.

Deklarace proměnných

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

„Dim Sum1“ tedy vytvoří novou proměnnou nazvanou „Sum1“. Musíme však Excelu sdělit, o jaký druh proměnné se jedná. Musíme zvolit datový typ. Ve VBA existuje mnoho různých datových typů --- můžete najít úplný seznam v dokumentech nápovědy společnosti Microsoft .

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

Příkaz „Dim Sum1 As Currency“ říká Excelu, aby vytvořil novou měnovou proměnnou s názvem Sum1. Každá proměnná, kterou deklarujete, musí mít příkaz „As“, který Excelu sdělí jeho typ.

Zahájení smyčky For

Smyčky jsou jedny z nejsilnějších věcí, které můžete v libovolném programovacím jazyce vytvořit. Pokud nejste obeznámeni se smyčkami, podívejte se na toto vysvětlení smyček Do-While. V tomto příkladu používáme smyčku For, která je také zahrnuta v článku.

Takto vypadá smyčka:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

To říká Excelu, aby iteroval přes buňky v rozsahu, který jsme zadali. Použili jsme a Objekt rozsahu , což je specifický typ objektu ve VBA. Když to použijeme tímto způsobem --- Rozsah ('C2: C51') ---, řekne to Excelu, že nás těch 50 buněk zajímá.

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

Máme také toto prohlášení: 'If IsEmpty (Cell) Then Exit For.'

Dokážete uhodnout, co to dělá?

Poznámka: Přesně řečeno, použití smyčky While může být lepší volbou . Kvůli výuce jsem se však rozhodl použít smyčku For s Exit.

mám rozdělit svůj pevný disk na Windows 10

Prohlášení If-Then-Else

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

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

Z velké části pravděpodobně dokážete odhadnout, co tato prohlášení dělají. S ActiveCell.Offset však možná nejste obeznámeni. „ActiveCell.Offset (0, -1)“ říká Excelu, aby se podíval na buňku, která je o jeden sloupec nalevo od aktivní buňky.

V našem případě to říká Excelu, aby si prohlédl sloupec s číslem obchodu. Pokud Excel v tomto sloupci najde 1, pak 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šemi těmito příkazy v pořadí. Pokud podmíněné prohlášení je spokojen, dokončí příkaz Then. Pokud ne, přesune se do dalšího ElseIf. Pokud dojde až do konce a nebyla splněna žádná z podmínek, nepodnikne žádnou akci.

Toto makro řídí kombinace smyčky a podmíněných podmínek. Smyčka říká aplikaci Excel, aby prošla každou buňku ve výběru, a podmíněné příkazy jí řeknou, co s touto buňkou udělat.

Zápis hodnot buněk

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

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

Pomocí '.Value' a znaménka 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ář záložka, dostáváme naše částky:

Sestavení stavebních bloků VBA v aplikaci Excel

Když se poprvé podíváte na makro VBA výše, vypadá to docela složitě. Ale poté, co to rozdělil na jednotlivé části, logika je jasná. Jako každý skriptovací jazyk, také chvíli trvá, než si zvyknete na syntaxi jazyka VBA.

Ale s praxí si vybudujete slovník VBA a budete moci psát makra rychleji, přesněji a s mnohem větším výkonem, než byste je kdy mohli zaznamenávat.

Když se zaseknete, spuštění vyhledávání Google je rychlý způsob, jak získat odpovědi na vaše otázky VBA. A Microsoft Excel VBA reference může být užitečné, pokud jste ochotni se v něm prokopat pro technickou odpověď.

Jakmile se seznámíte se základy, můžete začít používat VBA pro věci jako odesílání e -mailů z Excelu , export úkolů aplikace Outlook a zobrazení informací o vašem počítači.

výjimka systémové služby windows 10 bsod
Podíl Podíl tweet E-mailem Zde je důvod, proč FBI vydala varování před ransomwarem Hive

FBI vydala varování před obzvláště ošklivým kmenem ransomwaru. Zde je důvod, proč si musíte dávat obzvlášť pozor na ransomware Hive.

Číst dále
Související témata
  • Produktivita
  • Tabulkový procesor
  • Microsoft Excel
  • Microsoft Office 2016
  • Makra
  • Návody na kódování
O autorovi Pak Albright(506 článků zveřejněno)

Dann je poradce pro strategii obsahu a marketing, který pomáhá společnostem vytvářet poptávku a potenciální zákazníky. Píše také o strategickém a obsahovém marketingu na dannalbright.com.

Více od Danna Albrighta

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru