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 paprastu ž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, kintamojo pavadinimas laikomas sintakse ar argumentu, 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
Šį „VBA VARTYPE Excel“ šabloną galite atsisiųsti čia - „VBA VARTYPE Excel“ šablonas1 pavyzdys
VBA rašydami kodą mes paprastai deklaruojame kintamąjį 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 tiesioginis atvejis, tačiau taip pat galima deklaruoti kintamuosius nepriskirdami jiems kintamųjų, todėl tokiais atvejais mums padeda funkcija „VarType“.
Kodas:
Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub
Ankstesniame kode mes nepriskyrėme jokių duomenų tipų, bet iškart priskyrėme vertę kaip „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 kiekvienos rūšies kintamajam 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 reikšmė yra „Data“ duomenų tipas | ||
8 | „vbString“ | Kintamoji vertė yra „String“ duomenų tipas | ||
9 | vbObject | Kintamoji reikšmė yra „Object“ duomenų tipas | ||
10 | vbKlaida | Kintamoji vertė yra klaidos vertė | ||
11 | vbBoolean | Kintama reikšmė yra „Boolean“ duomenų tipas | ||
12 | vbvariantas | Kintamojo vertė yra „Variant“ duomenų tipas (naudojamas tik su variantų masyvais) | ||
13 | „vbDataObject“ | Kintama reikšmė yra duomenų prieigos objektas | ||
14 | vbDešimtainis skaičius | Kintamoji vertė 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“ | Kintamoji reikšmė yra „vartotojo apibrėžta“ duomenų rūšis | ||
8192 | vbArray | Kintama reikšmė yra masyvas |
Gerai, dabar mūsų kodas pakartojo kintamojo duomenų tipą kaip 8, ty kintamojo pavadinime „MyVar“ yra „String“ duomenų tipas.
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 kintamasis turi duomenų tipą „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 aš pridėsiu skaičių 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ą žymi unikalūs skaičiai, todėl nurodykite lentelę, kad suprastumėte, kuris skaičius nurodo kintamojo duomenų tipą.