Bu makale, VBA'da VarType işlevinin kullanımını gösterecektir.
VarType, Değişken Türü anlamına gelir. Değişkenin adını VarType işlevine sağlayabiliriz ve bu, bir VBA sabitleri listesine göre o değişkende depolanan verilerin türünü gösteren bir tamsayı döndürür.
VarType'ı bulmak için Varyant Değişkeni Kullanma
Bir değişkeni Variant değişkeni olarak tanımlayabiliriz. Bu, içinde izin verilen her türlü veriyi saklamamıza izin verecektir. Daha sonra bu değişkeni doldurabilir ve değişkende ne tür veri olduğunu görmek için VarType işlevini kullanabiliriz.
Örneğin:
12345 | Alt TestVarType()Varyant Olarak MyVariable DimMyVariable = "Merhaba Dünya"MsgBox "Değişkenin türü " & VarType(MyVariable)Alt Bitiş |
Bu, aşağıdaki mesaj kutusunu döndürür:
Bu nedenle 8 değeri döndürülür. Bu, değişkende depolanan veri türünü tanımlayan bir Excel Sabiti'ndedir.
Bu sabit değer aşağıdaki tabloya karşılık gelir:
Devamlı | Değer | Açıklama |
---|---|---|
vbEmpty | 0 | Boş (başlatılmamış) |
vbNull | 1 | Boş (geçerli veri yok) |
vbInteger | 2 | tamsayı |
vbLong | 3 | Uzun tamsayı |
vbSingle | 4 | Tek duyarlıklı kayan noktalı sayı |
vbDouble | 5 | Çift duyarlıklı kayan noktalı sayı |
vbCurrency | 6 | Döviz değeri |
vbDate | 7 | Tarih değeri |
vbString | 8 | Sicim |
vbObject | 9 | Nesne |
vbError | 10 | Hata değeri |
vbBoole | 11 | Boole değeri |
vbVaryant | 12 | varyant (yalnızca değişken dizileriyle kullanılır) |
vbDataObject | 13 | Bir veri erişim nesnesi |
vbDecimal | 14 | ondalık değer |
vbByte | 17 | bayt değeri |
vbLongLong | 20 | LongLong tamsayı (yalnızca 64 bit platformlarda geçerlidir) |
vbUserDefinedType | 36 | Kullanıcı tanımlı türleri içeren varyantlar |
vbArray | 8192 | Dizi (bu işlev tarafından döndürüldüğünde her zaman başka bir sabite eklenir) |
Başka bir örnek deneyebiliriz:
12345 | Alt TestVarType()Varyant Olarak MyVariable DimDeğişkenim = 32760MsgBox "Değişkenin türü " & VarType(MyVariable)Alt Bitiş |
Değişkende depolanan veri türü Tamsayı olduğundan, bu sefer mesaj kutusu 2 değerini döndürür.
Ancak, değeri 32780 olarak değiştirirsek, bir Tamsayı veri türünün maksimum değeri 32767 olduğundan, değer dönüşü 3 - Uzun Tamsayı olacaktır; bundan sonra bir Uzun Tam Sayıdır.
Kodu bir kez daha değiştirecek olursak:
12345 | Alt TestVarType()Varyant Olarak MyVariable DimDeğişkenim = 32760,52MsgBox "Değişkenin türü " & VarType(MyVariable)Alt Bitiş |
Şimdi döndürülen 5 değerini alırdık - ondalık basamaklar nedeniyle veri türü Double'dir.
Değişkendeki değeri tırnak içine alacak olsaydık, tırnak içindeki herhangi bir değer bir dize değeri olarak depolandığından bir kez daha 8 döndürülürdü.
12345 | Alt TestVarType()Varyant Olarak MyVariable DimDeğişkenim = "32760.52"MsgBox "Değişkenin türü " & VarType(MyVariable)Alt Bitiş |