Vestavěné funkce

VBA má k dispozici velké množství vestavěných funkcí. Mnohé se podobají funkcím pracovních listů Excelu.
Úplný přehled vestavěných funkcí najdeme, pokud v editoru VBA otevřeme nápovědu a v ní najdeme Visual Basic for applications Language Reference. Uvnitř tohoto textu najdeme text Visual Basic Language Reference, ten obsahuje kompletní seznam vestavěných funkcí a příkazů.

Seznam funkcí

Chr(číslo)
Vrací znak, jehož číslo ASCII zadáte jako parametr.
Pokud je nutné uvnitř textového řetězce vložit uvozovky, pak použijeme Chr(34). Tabulátor vložíme pomocí vestavěné konstanty vbTab, nebo Chr(9). Konec řádku vložíme pomocí vestavěné konstanty vbCrLf.

Př. Chceme do proměnné vložit “Tesco“

Nazev = Chr(34) & “Tesco” & Chr(34)

Asc(číslo)
Funkce vrací číslo znaku, nebo prvního znaku řetězce v ASCII tabulce.

IsNumeric(výraz)
Funkce vrací hodnotu True pokud je v parametru číselná hodnota, pokud není tak vrací False .

Př. Program ověří zda zadaná hodnota je číslo.

Sub IsnumS()
Dim cislo 
cislo = InputBox("Zadej číslo")
If IsNumeric(cislo) Then MsgBox ("OK") Else MsgBox ("Chyba")
End Sub

IsDate(výraz)
Funkce vrací hodnotu True pokud je v parametru datum, pokud není tak vrací False .

Int(výraz)
Funkce odstraní z čísla desetinnou část.

MsgBox CInt(5.6) ' zobrazí 5

Abs(výraz)
Vrací absolutní hotnotu čísla

Shell(cesta[,zobrazení])
Vykoná příkaz, který je ve formě řetězcového výrazu parametru cesta. Nepovinný parametr zobrazení, určuje stav okna spuštěné aplikace.

Shell “Notepad.exe C:\data.txt” ,vbMaximizedFocus    'Otevře program Notepad a zobrazí soubor data.txt. Okno aplikace bude maximalizované.
Shell "C:\Program Files\Internet Explorer\iexplore.exe seznam.cz", vbMaximizedFocus   'Otevře aplikaci Internet Explorer a v něm zobrazí stránku seznam.cz

Konverzní funkce

Konverzní funkce se používají pro převod hodnoty proměnné jednoho typu na typ jiný.

Str(výraz)
Převede výraz (číslo) na řetězec (String). Pokud je vstupní výraz kladný, začíná návratová hodnota mezerou. Pokud je vstupní výraz záporný, začíná návratová hodnota znakem "-".

Val (řetězec)
Převádí řetězec na číslo. Jako oddělovač desetinných čísel dokáže rozpoznat pouze tečku

CDbl(výraz)
Převede výraz na číslo typu Double.

CInt(výraz)
Převede výraz na číslo typu Integer. Desetinné číslo zaokrouhlí.

MsgBox CInt(5.6) ' zobrazí 6

CLng(výraz)
Převede výraz na číslo typu Long. Desetinné číslo zaokrouhlí.

CDate(výraz)
Převede výraz na datový typ Date.

Použití funkcí pracovních listů Excelu.

V kódu múžeme také používat většinu funkcí pracovních listů Excelu. Jejich volání se provádí pomocí objektu WorksheetFunction.
Přehled všech funkcí pracovních listů, které můžeme ve VBA použít získáme pokud napíšeme WorksheetFunction a tečku.

Seznam funkcí
MsgBox WorksheetFunction.Pi  ' zobrazí hodnotu Pi