zpět na výpis    domů » excel » VBA: úvod do programování

VBA: úvod do programování

Publikováno: 4.6.2017

VBA: úvod do programování

VBA je programovací jazyk, který je zapisován do takzvaných procedur. Procedura je ucelený kus kódu ve formě makra nebo funkce.

Typy procedur ve VBA

Prvním typem procedury je makro, které je uvozeno klíčovými příkazy Sub a End Sub. Makro může být nahráno prostřednictvím Záznamníku makra nebo napsáno jazykem VBA v Editoru VBA. Procedura Sub vykonává posloupnost příkazů, která však nevrací žádnou hodnotu.

Sub NazevMakra()
  příkazy
End Sub

Druhým typem procedury je funkce, která na rozdíl od makra vrací hodnotu a vyžaduje vložení argumentů. Funkce je uvozena klíčovými příkazy Function a End Function.

Function NazevFunkce()
  příkazy
End Function

Editor VBA

Editor VBA slouží k zápisu jazyka VBA, který vyvoláte klávesovou zkratkou ALT + F11.

TIP: k rozšiřování znalostí doporučuji Nápovědu VBA, která je součástí Editoru VBA. Nápověda je v nabídce Help nebo jí lze vyvolat klávesou F1.

Editor je standardně rozdělen do 4 oken:

  • Project explorer neboli Průzkumník projektů obsahuje otevřené projekty
  • okno Properties obsahuje vlastnosti daného projektu
  • okno pro psaní kódu jazyka VBA vyvoláte poklepáním na modul List/Module v Project explorer
  • okno Immediate slouží pro okamžitý výpis a ladění zapsaného makra prostřednictvím příkazu Debug.Print
Editor VBA

Pokud některé z oken na obrázku nevidíte použijte nabídku View.

Užití procedur VBA v praxi

Na jednoduchém příkladě, který simuluje textovou funkci CONCATENATE(), jsou demonstrovány oba typy procedur Sub a Function. Uvedená funkce spojuje textové řetězce v jeden.

Ve sloupcích A, B a C jsou textové řetězce, které je potřeba spojit v jeden. Pro čitelnost spojených řetězců je mezi ně vložena mezera.

Procedura Function

Procedura Function se zapisuje do kterékoliv buňky v listě jako standardní excelovská funkce. Následující funkce má maximálně 3 argumenty, které představují jednotlivé textové řetězce zapsané ve sloupcích A, B a C.

Function Spojit(A As String, B As String, C As String) As String

Spojit = A & " " & B & " " & C

End Function

Následující obrázek obsahuje výsledek spojovací funkce.

Procedura Function ... End Function ve VBA

Text je standardně, stejně jako v jiných programovacích jazycích, zabalen do uvozovek. V uvedeném příkladu je mezi uvozovky vložena mezera pro lepší čitelnost spojených textových řetězců. Mezera je mezi jednotlivé textové řetězce vložena pomocí znaku &.

Procedura Sub

Procedura Sub vypíše spojený textový řetězec v dialogovém okně. Do proměnných A, B a C jsou načteny hodnoty v buňkách A1, B1 a C1.

Do kódu doporučuji zapisovat komentáře, aby bylo i s určitým časovým odstupem jasný záměr autora. Komentář usnadňuje orientaci v kódu. Označuje se apostrofem na začátku komentáře.

Sub Spojit()

deklarace proměnných
Dim A As String, B As String, C As String

naplnění proměnných hodnotami v buňkách A1, B1 a C1
A = Cells(1, 1).Value
B = Cells(1, 2).Value
C = Cells(1, 3).Value

vypsání výsledku v dialogovém okně
MsgBox A & " " & B & " " & C

End Sub

Následující obrázek obsahuje výsledek vykonané procedury.

Procedura Sub ... End Sub ve VBA

Chcete vědět o každém novém článku? Sledujte Finance v praxi na sociálních sítích a zůstaňte ve spojení.

Google+

Sdílejte článek na sociálních sítích

Použité zdroje a literatura
  • BENÁČANOVÁ H.: Tvorba aplikací v Microsoft Office Excel 2. část. Možnosti VBA. Vysoká škola ekonomická v Praze, nakladatelství Oeconomica 2009, Praha. První vydání, 126 stran. ISBN 978-80-245-1602-8
  • Nápověda k aplikaci MS Excel
Nahoru