Acest articol va demonstra utilizarea funcției VarType în VBA.
VarType înseamnă tip variabil. Putem furniza numele variabilei funcției VarType și va returna un număr întreg care descrie tipul de date stocate în variabila respectivă conform unei liste de constante VBA.
Utilizarea unei variabile variabile pentru a găsi VarType
Putem declara o variabilă ca variabilă Variantă. Acest lucru ne va permite să stocăm orice tip de date permise în acesta. Putem apoi să completăm această variabilă și să folosim funcția VarType pentru a vedea ce tip de date se află în variabilă.
De exemplu:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = "Hello World"MsgBox "Tipul variabilei este" & VarType (MyVariable)Sfârșitul Sub |
Aceasta va returna următoarea casetă de mesaj:
Prin urmare, valoarea 8 este returnată. Aceasta într-o constantă Excel care definește tipul de date stocate în variabilă.
Această valoare constantă corespunde tabelului de mai jos:
Constant | Valoare | Descriere |
---|---|---|
vbGol | 0 | Gol (neinițializat) |
vbNull | 1 | Nul (fără date valide) |
vbInteger | 2 | Întreg |
vbLung | 3 | Întreg lung |
vbSingle | 4 | Număr cu virgulă mobilă de o singură precizie |
vbDouble | 5 | Număr cu virgulă mobilă de precizie dublă |
vbCurrency | 6 | Valoarea monedei |
vbDate | 7 | Valoarea datei |
vbString | 8 | Şir |
vbObject | 9 | Obiect |
vbError | 10 | Valoarea erorii |
vbBoolean | 11 | Valoare booleană |
vbVariant | 12 | Variantă (utilizat numai cu matrici de variante) |
vbDataObject | 13 | Un obiect de acces la date |
vbDecimal | 14 | Valoare zecimală |
vbByte | 17 | Valoarea octetului |
vbLongLong | 20 | Întreg lung (valabil numai pe platformele pe 64 de biți) |
vbUserDefinedType | 36 | Variante care conțin tipuri definite de utilizator |
vbArray | 8192 | Matrice (adăugată întotdeauna la o altă constantă când este returnată de această funcție) |
Putem încerca un alt exemplu:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760MsgBox "Tipul variabilei este" & VarType (MyVariable)Sfârșitul Sub |
De data aceasta, caseta de mesaj va returna un 2, deoarece tipul de date stocate în variabilă este întreg.
Cu toate acestea, dacă schimbăm valoarea la 32780, atunci valoarea returnată va fi 3 - Long Integer, deoarece un tip de date Integer are o valoare maximă de 32767; după care este un întreg întreg.
Dacă ar fi să modificăm încă o dată codul:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760,52MsgBox "Tipul variabilei este" & VarType (MyVariable)Sfârșitul Sub |
Am primi acum o valoare de 5 returnată - tipul de date este dublu datorită zecimalelor.
Dacă ar fi să punem valoarea în variabilă în ghilimele, atunci încă o dată un 8 ar fi returnat, deoarece orice valoare conținută în ghilimele este stocată ca o valoare șir.
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = "32760.52"MsgBox "Tipul variabilei este" & VarType (MyVariable)Sfârșitul Sub |