Funkce Excel VBA VarType
VBA VARTYPE znamená „Variabilní typ“. Tato funkce nám pomáhá identifikovat datový typ přiřazený konkrétní proměnné nebo jednoduše můžeme říci, že zjistí, jaký druh hodnoty je proměnné uložen nebo přiřazen.
Syntax

VarName: Musíme pouze zadat název proměnné, abychom našli data uložená v zadaném názvu proměnné.
Takže vezme název proměnné jako syntaxi nebo argument a na výstupu vrátí datový typ přiřazený proměnné nebo druh dat uložených v proměnné.
Takže pokud jste někdy přemýšleli, jak najít datový typ proměnné nebo druh dat přiřazených proměnné, pak zde máme funkci VBA „VarType“.

Příklady
Příklad č. 1
Ve VBA při psaní kódu obvykle deklarujeme proměnné a přiřazujeme jim datový typ. Podívejte se například na níže uvedený kód VBA.
Kód:
Sub VarType_Example () Dim MyVar jako řetězec MyVar = "Hello" End Sub

Ve výše uvedeném příkladu jsme proměnnou deklarovali jako „String“ a pro tento řetězec jsme přiřadili hodnotu jako „Hello“.
Jedná se o přímý případ, ale je také možné deklarovat proměnné, aniž byste jim proměnné přiřadili, takže v takových případech nám pomáhá funkce VarType.
Kód:
Sub VarType_Example () Dim MyVar MyVar = "Dobrý den" End Sub

Ve výše uvedeném kódu jsme nepřiřadili žádný datový typ, ale hned jsme mu přiřadili hodnotu „Hello“, takže pomocí funkce VarType můžeme najít datový typ proměnné.
Otevřete MSGBOX v kódování VBA ve výše uvedeném kódu.

Poté otevřete funkci VarType.

Nyní zadejte název proměnné jako argument funkce VARTYPE.
Kód:
Sub VarType_Example () Dim MyVar MyVar = "Dobrý den" MsgBox VarType (MyVar) End Sub

Nyní spusťte kód a podívejte se, co dostaneme do okna se zprávou.

Výsledek jsme dostali jako 8, protože VBA má určité kódy pro každý druh variabilního datového typu, takže níže je uveden podrobný seznam.
Hodnota | Konstantní | Popis | ||
0 | vbEmpty | Proměnná ještě není inicializována | ||
1 | vbNull | Přiřazena neplatná data | ||
2 | vbInteger | Hodnota proměnné je datový typ „Integer“ | ||
3 | vbLong | Hodnota proměnné je datový typ „Long“ | ||
4 | vbSingle | Hodnota proměnné je datový typ „Single“ | ||
5 | vbDouble | Hodnota proměnné je datový typ „Double“ | ||
6 | vbMěna | Hodnota proměnné je datový typ „Měna“ | ||
7 | vbDate | Hodnota proměnné je datový typ „Datum“ | ||
8 | vbString | Hodnota proměnné je datový typ „String“ | ||
9 | vbObject | Hodnota proměnné je datový typ „Objekt“ | ||
10 | vbError | Hodnota proměnné je chybová hodnota | ||
11 | vbBoolean | Hodnota proměnné je datový typ „Boolean“ | ||
12 | vbVariant | Hodnota proměnné je datový typ „Variant“ (používá se pouze u polí variant) | ||
13 | vbDataObject | Hodnota proměnné je Data Access Object | ||
14 | vbDecimal | Hodnota proměnné je datový typ „Decimal“ | ||
17 | vbByte | Hodnota proměnné je datový typ „Byte“ | ||
20 | vbLongLong | Hodnota proměnné je datový typ „LONG LONG“ (platí pouze pro 64bitové platformy) | ||
36 | vbUserDefinedType | Hodnota proměnné je datový typ „Definováno uživatelem“ | ||
8192 | vbArray | Hodnota proměnné je Array. |
Dobře, náš kód nyní přeladil datový typ proměnné na 8, tj. Název proměnné „MyVar“ obsahuje datový typ „String“.
Příklad č. 2
Nyní se podívejte na níže uvedený kód.
Kód:
Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Spustíme tento kód a uvidíme, jaký bude výsledek.

Výsledkem je 9, tj. Proměnná obsahovala datový typ „Objekt“. Ano, je to správné, protože pro proměnnou „MyVar“ jsme nastavili odkaz na sešit „Tento sešit“.
Příklad č. 3
Nyní se podívejte na níže uvedený kód.
Kód:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Výsledek se vrátí jako 2.

Protože číslo 32500, které je přiřazeno proměnné, je hodnota „Integer“.
Nyní změním hodnotu na 40000 a uvidím výsledek.
Kód:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Výsledkem bude výsledek 3.

Protože hodnota celého čísla končí na 32767, bude se s čímkoli výše považovat za datový typ VBA LONG.
Nyní toto číslo uzavřu do uvozovek.
Kód:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Spusťte kód a podívejte se na výsledek.

Výsledek jsme dostali jako 8, tj. Datový typ String.
Důvodem je to, že vše, co je součástí závorky, bude považováno za proměnnou řetězce.
Věci k zapamatování
- VARTYPE znamená „Variabilní typ“.
- Datový typ je reprezentován jedinečnými čísly, proto se podívejte do tabulky, abyste pochopili, které číslo představuje který proměnný datový typ.