VBA VARTYPE funkcija - Kaip rasti kintamojo duomenų tipą?

„Excel VBA“ varType funkcija

VBA VARTYPE reiškia „kintamasis tipas“. Ši funkcija padeda mums nustatyti duomenų tipą, priskirtą konkrečiam kintamajam, arba paprasčiausiu žodžiu galime pasakyti, kad jis nustato, kokia vertė yra kintamajam saugoma ar priskirta.

Sintaksė

„VarName“: mes tiesiog turime pateikti kintamojo pavadinimą, kad rastume duomenis, saugomus pateiktame kintamojo pavadinime.

Taigi, sintaksės ar argumento reikšmė yra kintamojo pavadinimas, o išvestyje jis pateikia kintamajam priskirtą duomenų tipą arba kintamajame saugomų duomenų rūšį.

Taigi, jei kada nors susimąstėte, kaip rasti kintamojo duomenų tipą ar kintamajam priskirtų duomenų rūšį, čia mes turime VBA funkciją „VarType“.

Pavyzdžiai

1 pavyzdys

VBA rašydami kodą mes paprastai deklaruojame kintamuosius ir priskiriame jiems duomenų tipą. Pavyzdžiui, pažvelkite į žemiau esantį VBA kodą.

Kodas:

Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

Ankstesniame pavyzdyje mes paskelbėme kintamąjį kaip „String“, o šiai eilutei priskyrėme vertę kaip „Hello“.

Tai yra nesudėtingas atvejis, tačiau taip pat galima deklaruoti kintamuosius nepriskyrus jiems kintamųjų, todėl tokiais atvejais mums padeda „VarType“ funkcija.

Kodas:

Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

Ankstesniame kode mes nepriskyrėme jokių duomenų tipų, bet iškart priskyrėme vertę „Sveiki“, todėl naudodami funkciją „VarType“ galime rasti kintamojo duomenų tipą.

Atidarykite MSGBOX VBA kodavimu aukščiau nurodytu kodu.

Tada atidarykite „VarType“ funkciją.

Dabar įveskite kintamojo pavadinimą kaip funkcijos VARTYPE argumentą.

Kodas:

Sub VarType_Example () Dim MyVar MyVar = "Sveiki" MsgBox VarType (MyVar) Pabaiga Sub

Dabar paleiskite kodą ir pamatykite, ką gauname pranešimų laukelyje.

Rezultatas buvo 8, nes VBA turi tam tikrus kodus kiekvienam kintamų duomenų tipui, todėl žemiau pateikiamas išsamus jūsų sąrašas.

Vertė Nuolatinis apibūdinimas
0 vbTuščias Kintamasis dar nėra inicializuotas
1 vbNull Priskirti netinkami duomenys
2 vbInteger Kintamoji reikšmė yra „Sveikasis skaičius“ duomenų tipas
3 vbLong Kintamoji vertė yra „ilgas“ duomenų tipas
4 vbVienas Kintamoji vertė yra „vienas“ duomenų tipas
5 vbDvigubas Kintamoji vertė yra „Double“ duomenų tipas
6 vbCurrency Kintamoji vertė yra „Valiuta“ duomenų tipas
7 vbData Kintamojo vertė yra „Data“ duomenų tipas
8 „vbString“ Kintamoji vertė yra „String“ duomenų tipas
9 vbObject Kintamoji vertė yra „Object“ duomenų tipas
10 vbKlaida Kintamoji vertė yra klaidos vertė
11 vbBoolean Kintamoji reikšmė yra „Boolean“ duomenų tipas
12 vbvariantas Kintamoji vertė yra „Variant“ duomenų tipas (naudojamas tik su variantų masyvais)
13 „vbDataObject“ Kintama reikšmė yra duomenų prieigos objektas
14 vbDešimtainis skaičius Kintamojo reikšmė yra „dešimtainis“ duomenų tipas
17 vbByte Kintamoji vertė yra „Byte“ duomenų tipas
20 vbLongLong Kintamoji vertė yra „LONG LONG“ duomenų tipas (galioja tik 64 bitų platformose)
36 „vbUserDefinedType“ Kintamojo reikšmė yra „vartotojo apibrėžta“ duomenų rūšis
8192 vbArray Kintama reikšmė yra masyvas.

Gerai, dabar mūsų kodas pakeitė kintamojo duomenų tipą kaip 8, ty kintamojo pavadinime „MyVar“ yra duomenų tipas „String“.

2 pavyzdys

Dabar pažvelkite į žemiau pateiktą kodą.

Kodas:

Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Paleiskime šį kodą ir pažiūrėkime, koks yra rezultatas.

Rezultatas yra 9, ty kintamajame buvo duomenų tipas „Object“. Taip, tai teisinga, nes kintamajam „MyVar“ mes nustatėme darbaknygės nuorodą „Ši darbaknygė“.

3 pavyzdys

Dabar pažvelkite į žemiau pateiktą kodą.

Kodas:

Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Tai grąžins rezultatą kaip 2.

Nes kintamajam priskirtas skaičius 32500 yra „Sveikasis skaičius“.

Dabar pakeisiu vertę į 40000 ir pamatysiu rezultatą.

Kodas:

Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Tai duos rezultatą kaip 3.

Kadangi sveikojo skaičiaus vertė baigiasi 32767, todėl viskas, kas aukščiau, bus traktuojama kaip VBA LONG duomenų tipas.

Dabar skaičių pridėsiu dvigubose kabutėse.

Kodas:

Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Paleiskite kodą ir pamatykite rezultatą.

Rezultatą gavome kaip 8, ty eilutės duomenų tipą.

Taip yra todėl, kad viskas, kas pateikiama skliaustuose, bus traktuojama kaip eilutės kintamasis.

Ką reikia atsiminti

  • VARTYPE reiškia „kintamasis tipas“.
  • Duomenų tipą vaizduoja unikalūs skaičiai, todėl naudodamiesi lentele supraskite, kuris skaičius rodo kintamąjį duomenų tipą.

Įdomios straipsniai...