Funkcja Excel VBA VarType
VBA VARTYPE oznacza „Typ zmiennej”. Ta funkcja pomaga nam zidentyfikować typ danych przypisanych do określonej zmiennej lub, mówiąc prostym słowem, możemy powiedzieć, że znajduje rodzaj wartości przechowywanej lub przypisanej do zmiennej.
Składnia

VarName: wystarczy podać nazwę zmiennej, aby znaleźć dane przechowywane w podanej nazwie zmiennej.
Tak więc przyjmuje nazwę zmiennej jako składnię lub argument, a na wyjściu zwraca typ danych przypisany do zmiennej lub rodzaj danych przechowywanych w zmiennej.
Tak więc, jeśli kiedykolwiek zastanawiałeś się, jak znaleźć zmienny typ danych lub rodzaj danych przypisanych do zmiennej, mamy tutaj funkcję VBA „VarType”.

Przykłady
Przykład 1
W VBA pisząc kod zazwyczaj deklarujemy zmienne i przypisujemy im typ danych. Na przykład spójrz na poniższy kod VBA.
Kod:
Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

W powyższym przykładzie zadeklarowaliśmy zmienną jako „String”, a dla tego ciągu przypisaliśmy wartość jako „Hello”.
Jest to prosty przypadek, ale możliwe jest również zadeklarowanie zmiennych bez przypisywania do nich zmiennych, dlatego w takich przypadkach pomaga nam funkcja VarType.
Kod:
Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

W powyższym kodzie nie przypisaliśmy żadnego typu danych, ale od razu przypisaliśmy wartość jako „Hello”, więc za pomocą funkcji VarType możemy znaleźć typ danych zmiennej.
Otwórz MSGBOX w kodowaniu VBA w powyższym kodzie.

Następnie otwórz funkcję VarType.

Teraz wprowadź nazwę zmiennej jako argument funkcji VARTYPE.
Kod:
Sub VarType_Example () Dim MyVar MyVar = "Hello" MsgBox VarType (MyVar) End Sub

Teraz uruchom kod i zobacz, co otrzymamy w oknie komunikatu.

Otrzymaliśmy wynik jako 8, ponieważ VBA ma określone kody dla każdego rodzaju zmiennych typów danych, więc poniżej znajduje się szczegółowa lista dla Ciebie.
Wartość | Stały | Opis | ||
0 | vbEmpty | Zmienna nie została jeszcze zainicjowana | ||
1 | vbNull | Przypisano nieprawidłowe dane | ||
2 | vbInteger | Wartością zmiennej jest typ danych „Integer” | ||
3 | vbLong | Wartością zmiennej jest typ danych „Long” | ||
4 | vbSingle | Wartością zmiennej jest typ danych „Pojedynczy” | ||
5 | vbDouble | Wartością zmiennej jest typ danych „Double” | ||
6 | vbCurrency | Wartość zmiennej to typ danych „Waluta” | ||
7 | vbDate | Wartością zmiennej jest typ danych „Data” | ||
8 | vbString | Wartością zmiennej jest typ danych „String” | ||
9 | vbObject | Wartością zmiennej jest typ danych „Obiekt” | ||
10 | vbError | Wartość zmiennej to Wartość błędu | ||
11 | vbBoolean | Wartością zmiennej jest typ danych „Boolean” | ||
12 | vbVariant | Wartością zmiennej jest typ danych „Wariant” (używany tylko z tablicami wariantów) | ||
13 | vbDataObject | Wartością zmiennej jest obiekt dostępu do danych | ||
14 | vbDecimal | Wartością zmiennej jest typ danych „Dziesiętny” | ||
17 | vbByte | Wartość zmiennej to typ danych „Bajt” | ||
20 | vbLongLong | Wartość zmiennej to typ danych „LONG LONG” (dotyczy tylko platform 64-bitowych) | ||
36 | vbUserDefinedType | Wartość zmiennej to typ danych „Definiowany przez użytkownika” | ||
8192 | vbArray | Wartość zmiennej to Array. |
Ok, teraz nasz kod przestawił zmienny typ danych na 8, tj. Nazwa zmiennej „MyVar” zawiera typ danych „String”.
Przykład nr 2
Teraz spójrz na poniższy kod.
Kod:
Sub VarType_Example2 () Dim MyVar Ustaw MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Uruchommy ten kod i zobaczmy, jaki jest wynik.

Wynik to 9, czyli zmienna zawierała typ danych „Obiekt”. Tak, jest to poprawne, ponieważ dla zmiennej „MyVar” ustawiliśmy odniesienie do skoroszytu „This Workbook”.
Przykład nr 3
Teraz spójrz na poniższy kod.
Kod:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

To zwróci wynik jako 2.

Ponieważ liczba 32500, która jest przypisana do zmiennej, jest wartością „Integer”.
Teraz zmienię wartość na 40000 i zobaczę wynik.
Kod:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

To da wynik jako 3.

Ponieważ wartość Integer kończy się na 32767, więc wszystko powyżej będzie traktowane jako typ danych VBA LONG.
Teraz umieszczę liczbę w cudzysłowach.
Kod:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Uruchom kod i zobacz wynik.

Otrzymaliśmy wynik jako 8, czyli typ danych String.
Dzieje się tak, ponieważ wszystko podane w nawiasach będzie traktowane jako zmienna typu String.
Rzeczy do zapamiętania
- VARTYPE to skrót od „Variable Type”.
- Typ danych jest reprezentowany przez unikalne liczby, więc zapoznaj się z tabelą, aby zrozumieć, która liczba reprezentuje zmienny typ danych.