zpět na výpis    domů » excel » Úvod do programování Visual Basic for Applications

Úvod do programování Visual Basic for Applications

Publikováno: 4.6.2017

Úvod do programování Visual Basic for Applications

Visual Basic for Applications je programovací jazyk, který se zapisuje do takzvaných procedur. Procedura je kus kódu ve formě makra nebo funkce.

Procedura Sub

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

Procedura Function

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

Function NazevFunkce(argument_1, argument_2)
  příkazy
End Function

Editor VBA

Editor VBA slouží pro psaní kódu jazyka VBA, který vyvoláte klávesovou zkratkou Alt + F11 nebo na kartě Vývojář tlačítekm Visual Basic.

K rozšiřování znalostí doporučuji Nápovědu VBA, která je součástí Editoru. Nápovědu najdete v nabídce Help nebo jí vyvoláte klávesou F1.

Editor je standardně rozdělen do 4 oken:

  • Project explorer neboli Průzkumník projektů, který 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.

Procedury v praxi

Na jednoduchém příkladě, který simuluje textovou funkci CONCATENATE(), jsou demonstrovány oba typy procedur Sub a Function.

Funkce CONCATENATE() spojuje textové řetězce v jeden.

Dejme tomu, že sloupce A, B a C obsahují textové řetězce, které chceme spojit v jeden řetězec a vložit mezi ně mezeru.

Procedura Function

Vytvořenou funkci zapisujeme do libovolné buňky v listě sešitu. Naše funkce obsahuje 3 argumenty, tj. pro každý sloupec jeden

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

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

End Function

Výsledkem funkce je spojení slov

Procedura Function ... End Function ve VBA

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, které usnadňují orientaci v kódu. Označují 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

Výsledkem procedury pak je

Procedura Sub ... End Sub ve VBA

Líbil se vám článek? A chcete se vědět o každém dalším?

Sledujte:

Nahoru