Typ zmiennej VBA

W tym artykule zademonstrujemy użycie funkcji VarType w VBA.

VarType oznacza typ zmiennej. Możemy podać nazwę zmiennej do funkcji VarType, która zwróci liczbę całkowitą, która przedstawia typ danych przechowywanych w tej zmiennej zgodnie z listą stałych VBA.

Użycie zmiennej Variant do znalezienia VarType

Możemy zadeklarować zmienną jako zmienną Variant. Umożliwi nam to przechowywanie w nim dowolnego typu dozwolonych danych. Następnie możemy wypełnić tę zmienną i użyć funkcji VarType, aby zobaczyć, jaki typ danych znajduje się w zmiennej.

Na przykład:

12345 PodTypZmiennejTestowej()Przyciemnij moją zmienną jako wariantMojaZmienna = "Witaj świecie"MsgBox "Typ zmiennej to " & VarType(MyVariable)Napis końcowy

Spowoduje to zwrócenie następującego okna komunikatu:

Dlatego zwracana jest wartość 8. Jest to stała Excel, która definiuje typ danych przechowywanych w zmiennej.

Ta stała wartość odpowiada poniższej tabeli:

Stały Wartość Opis
vbPusty 0 Pusty (niezainicjowany)
vbNull 1 Null (brak prawidłowych danych)
vbInteger 2 Liczba całkowita
vbLong 3 Długa liczba całkowita
vbSingle 4 Liczba zmiennoprzecinkowa o pojedynczej precyzji
vbDouble 5 Liczba zmiennoprzecinkowa podwójnej precyzji
vbCurrency 6 Wartość waluty
vbData 7 Wartość daty
vbString 8 Strunowy
vbObject 9 Obiekt
vbError 10 Wartość błędu
vbBoolean 11 Wartość logiczna
vbWariant 12 Wariant (używane tylko z tablicami wariantów)
vbDataObject 13 Obiekt dostępu do danych
vbDecimal 14 Wartość dziesiętna
vbByte 17 Wartość w bajtach
vbLongLong 20 LongLong liczba całkowita (ważne tylko na platformach 64-bitowych)
vbUserDefinedType 36 Warianty zawierające typy zdefiniowane przez użytkownika
vbArray 8192 Tablica (zawsze dodawana do innej stałej po zwróceniu przez tę funkcję)

Możemy spróbować innego przykładu:

12345 PodTestTypZmiennej()Przyciemnij moją zmienną jako wariantMoja zmienna = 32760MsgBox "Typ zmiennej to " & VarType(MyVariable)Napis końcowy

Tym razem okno komunikatu zwróci 2, ponieważ typ danych przechowywanych w zmiennej to Integer.

Jeśli jednak zmienimy wartość na 32780, to zwróconą wartością będzie 3 - Long Integer, ponieważ typ danych Integer ma maksymalną wartość 32767; po czym jest to liczba całkowita długa.

Gdybyśmy mieli jeszcze raz zmienić kod:

12345 PodTestTypZmiennej()Przyciemnij moją zmienną jako wariantMoja zmienna = 32760,52MsgBox "Typ zmiennej to " & VarType(MyVariable)Napis końcowy

Otrzymalibyśmy teraz zwróconą wartość 5 - typ danych to Double ze względu na miejsca dziesiętne.

Gdybyśmy umieścili wartość w zmiennej w cudzysłowie, to po raz kolejny zostanie zwrócona liczba 8, ponieważ każda wartość zawarta w cudzysłowie jest przechowywana jako wartość ciągu.

12345 PodTypZmiennejTestowej()Przyciemnij moją zmienną jako wariantMojaZmienna = "32760.52"MsgBox "Typ zmiennej to " & VarType(MyVariable)Napis końcowy

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave