Přeskočit na obsah

Informační funkceVBA

Funkce vrací hodnotu systémové proměnné prostředí.

Funkce se používá např. pro přístup k systémovým nastavením, jako jsou cesty k dočasným souborům nebo informace o uživateli.

ENVIRON(Expression)

Expression (povinné) – Textový řetězec označující název proměnné prostředí nebo celé číslo reprezentující její pořadí.

userName = Environ(„USERNAME“) – zjištění uživatelského jména.

result = Environ(„TEMP“) – Celá cesta ke složce dočasných souborů.

result = Environ(„ComputerName“) – Název počítače/zařízení.

result = Environ(„UserProfile“) – Cesta k profilu uživatele.

result = Environ(„HomeDrive“) – Domovský disk v zařízení.

Funkce ověřuje, zda je zadaná proměnná pole.

Výstupem funkce je pouze True nebo False na základě informace, zdali se jedná o pole.

isArray(VarName)

VarName (povinné) – Proměnná, která má být zkontrolována.

Zjištění, zdali je proměnná arr polem, kdy do proměnné je vloženo pole od 1 do 5:

Dim arr(1 To 5) As Integer

Dim result As Boolean

result = IsArray(arr)

Funkce ověřuje, zda je zadaná hodnota platné datum.

Výstupem funkce je pouze True nebo False na základě informace, zdali se jedná o datum. Datumem se rozumí i datum v textovém řetězci.

isDate(Expression)

Expression (povinné) – Hodnota nebo výraz, který má být ověřen.

isValidDate = IsDate(„2025-02-29“) – Vrátí True, jelikož se jedná o datum.

isValidDate = IsDate(„15.2.2025“) – Vrátí True, jelikož se jedná o datum.

isValidDate = IsDate(4) – Vrátí False, jelikož 4 není datum.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pomocí podmínky If má být zjištěno, zdali se skutečně jedná o datum. Pokud ano, přidej ke specifikovanému datu v proměnné 2 měsíce pomocí funkce DateAdd. Pokud se nejedná o datum, vypiš pomocí funkce MsgBox hlášku.

specificDate = „15.2.2024“

If IsDate(specificDate) Then

result = DateAdd(„m“, 2, specificDate)

Else

MsgBox „Neplatné datum.“

End If

Funkce zjišťuje, zda je proměnná prázdná.

Funkce se hodí k předejití chyb, kdy se např. do proměnné nedostane žádná hodnota např. pomocí hledání argumentem Find. Pokud by se např. v Excelu nic nenašlo, výsledná proměnná by byla prázdná a další bloky kódu by mohly vyvolat error, čímž se dá předejít zjištěním, zdali není proměnná prázdná. Funkce vrací pouze True, pokud je proměnná prázdná nebo False, pokud v proměnné je hodnota.

isEmpty(VarName)

VarName (povinné) – Proměnná, která má být zkontrolována, zdali není prázdná.

V tomto příkladě bude výstup proměnné „result“ True, tedy že je proměnná prázdná, jelikož je pouze deklarována ale nic do ní není vloženo:

Dim value As Variant

result = IsEmpty(value)

result = isEmpty(Null) – Výstupem bude False, jelikož argument „Null“ neznamená, že se jedná o prázdnou hodnotu.

result = isEmpty(Empty) – Výstupem bude True, jelikož argument „Empty“ znamená právě prázdnou hodnotu.

V následujícím příkladě bude výstup „False“, jelikož proměnná není prázdná:

textString = „Zkouška“

result = IsEmpty(textString)

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pomocí podmínky If má být zjištěno, zdali není proměnná cesty k souboru prázdná. Pokud by byla proměnná prázdná, jelikož před ní může být dlouhý proces zjišťování souboru, vypíše se pomocí funkce MsgBox hláška, že soubor neexistuje. Pokud proměnná prázdná není, otevře se soubor.

Dim wb as Workbook

filePath = „C:\Cesta\k\souboru\Excel.xlsx“

If isEmpty(filePath) Then

MsgBox „Soubor neexistuje.“

Else

set wb = Workbooks.Open(filePath)

End If

Funkce zjišťuje, zda hodnota obsahuje chybu.

Funkce je užitečná pro detekci a zpracování chyb v aplikacích jako je práce s funkcemi v Excelu nebo errorová hodnota uložená do proměnné ve VBA, kdy je nutné ošetřit její chod. Funkce se navíc hodí pro zjištění, zdali existuje zadaný list v Excelu pro případ, že by byl odstraněn nebo přejmenován, ale přitom by se s ním mělo pracovat. Funkce vrací pouze True, pokud se jedná o error nebo False, pokud je hodnota platná.

isError(Expression)

Expression (povinné) – Hodnota nebo výraz, který má být zkontrolován, zdali se v něm nenachází error.

result = IsError(4) – Nejedná se o error a výstupem bude false.

result = IsError(Application.VLookup(„test“, Range(„A1:B10“), 2, False)) – Práce s Excelovskou funkcí ve VBA, přičemž slovo „test“ se v oblasti nenachází a tak bude výstupem True, jelikož se jedná o error.

result = IsError(Sheets(„Sheet1“).Range(„A1“)) – Výstupem bude True, že se jedná o error v případě, že se list v Excelu nenachází.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pomocí podmínky If má být zjištěno, zdali v proměnné není error. Pokud by se jednalo o error, vypíše se pomocí funkce MsgBox hláška. Pokud v proměnné error není, provede se matematický výpočet.

valueToCheck = 4

If isError(valueToCheck) Then

MsgBox „Nelze vypočíst, jedná se o error.“

Else

result = 100/4

End If

Funkce kontroluje, zda volitelný argument funkce chybí.

Funkce je vhodná v případě, kdy je vytvořena vlastní funkce s povinnými a nepovinnými argumenty, přičemž je nutné zjistit, zdali ve funkci volitelný argument byl zadán. Funkce vrací pouze hodnotu True, pokud argument nebyl zadán nebo False, pokud byl.

IsMissing(ArgumentName)

ArgumentName (povinné) – Název volitelného argumentu.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Kontrola, zdali byl do funkce volitelný argument „myArg“ zadán. V praxi by se mohlo např. jednat o blok kódu před touto funkcí, která by byla v podprogramu volána a v podprogramu by byla buďto hodnota zadána nebo nezadána. Následně se vypíše pouze hláška pomocí funkce MsgBox, zdali byl argument zadán nebo nikoliv.

Function CheckArgument(Optional myArg As Variant) As String

If IsMissing(myArg) Then

CheckArgument = „Argument chybí.“

Else

CheckArgument = „Argument nechybí.“

End If

End Function

Funkce ověřuje, zda proměnná obsahuje hodnotu Null, tedy prázdné pole.

Funkce se hodí k předejití chyb, kdy se např. má provést určitý výpočet nebo práce s proměnnou, ale v proměnné je pouze prázdné pole. Funkce vrací pouze True, pokud je proměnná Null nebo False, pokud v proměnné je hodnota.

isNull(Expression)

Expression (povinné) – Proměnná nebo výraz, který má být zkontrolován.

result = isNull(Null) – Výstupem bude True, jelikož argument „Null“ je prázdné pole.

result = isNull(Empty) – Výstupem bude False, jelikož argument „Empty“ znamená prázdnou hodnotu, což není stejné jako hodnota Null.

result = isNull(„“) – Výstupem bude False, jelikož prázdný textový řetězec není to stejné jako Null.

ValueToCheck = 4

result = isNull(ValueToCheck) – Výstupem bude False, jelikož proměnná „ValueToCheck“ je vyplněná číslem.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pomocí podmínky If má být zjištěno, zdali se v proměnné něco nachází. Pokud by byla proměnná Null, vypíše se pomocí funkce MsgBox hláška, že proměnná obsahuje „Null“. Pokud proměnná prázdná není, bude vypsána druhá hláška.

filePath = „C:\Cesta\k\souboru\Excel.xlsx“

If isNull(filePath) Then

MsgBox „Proměnná obsahuje hodnotu Null.“

Else

MsgBox „Proměnná je vyplněna.“

End If

Funkce kontroluje, zda je hodnota číslo.

Užitečné pro validaci číselného vstupu, aby se předešlo chybám např. při výpočtech, kdy by se mohlo omylem stát, že se má vypočíst číselná hodnota s textovou hodnotou. Číselnými hodnotami se myslí jak celá tak desetinná čísla. Funkce vrací pouze True, pokud je hodnota číselná nebo False, pokud není.

isNumeric(Expression)

Expression (povinné) – Hodnota nebo výraz, který má být ověřen.

result = IsNumeric(4) – Vrátí True, jelikož se jedná o číselnou hodnotu.

result = IsNumeric(4.1) – Vrátí True, jelikož se jedná o číselnou hodnotu.

result = IsNumeric(„Ahoj“) – Vrátí False, jelikož se jedná o text.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pomocí podmínky If má být zjištěno, zdali se v proměnné něco nachází. Pokud by byla proměnná Null, vypíše se pomocí funkce MsgBox hláška, že proměnná obsahuje „Null“. Pokud proměnná prázdná není, bude vypsána druhá hláška.

filePath = „C:\Cesta\k\souboru\Excel.xlsx“

If isNull(filePath) Then

MsgBox „Proměnná obsahuje hodnotu Null.“

Else

MsgBox „Proměnná je vyplněna.“

End If

Funkce ověřuje, zda proměnná je objekt.

Objekt je entita, která má vlastnosti (properties) a metody (methods). V Excelu a VBA objekty představují různé části aplikace, jako jsou sešity, listy, buňky, nebo formuláře.

isObject(Expression)

Expression (povinné) – Proměnná, která má být zkontrolována.

Deklarace a tvorba objektu ve VBA, přičemž v proměnné bude uloženo „True“, jelikož se jedná o object:

Dim obj As Object

Set obj = CreateObject(„Scripting.FileSystemObject“)

result = IsObject(obj)

© 2026 Excelland