VBA VARTYPE -toiminto - Kuinka löytää muuttujan tietotyyppi?

Sisällysluettelo

Excel VBA VarType -toiminto

VBA VARTYPE tarkoittaa muuttujaa. Tämä toiminto auttaa meitä tunnistamaan tietylle muuttujalle määritetyn tietotyypin tai yksinkertaisella sanalla voimme sanoa, että se löytää, millainen arvo muuttujalle on tallennettu tai määritetty.

Syntaksi

VarName: Meidän on vain toimitettava muuttujan nimi, jotta löydämme toimitettuun muuttujan nimeen tallennetut tiedot.

Joten se ottaa muuttujan nimen syntaksiksi tai argumentiksi ja palauttaa lähdössä muuttujalle määritetyn tietotyypin tai muuttujaan tallennetun datan.

Joten, jos olet koskaan miettinyt, kuinka löytää muuttujan tietotyyppi tai muuttujalle määritetty tieto, niin tässä meillä on VBA-toiminto "VarType".

Esimerkkejä

Esimerkki 1

VBA: ssa koodia kirjoittaessamme yleensä ilmoitamme muuttujat ja osoitamme heille tietotyypin. Katso esimerkiksi alla olevaa VBA-koodia.

Koodi:

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

Yllä olevassa esimerkissä olemme ilmoittaneet muuttujan merkkijonoksi "String" ja tälle merkkijonolle arvon "Hello".

Tämä on yksinkertainen tapaus, mutta on myös mahdollista ilmoittaa muuttujat määrittelemättä muuttujia niille, joten tällaisissa tapauksissa VarType-toiminto auttaa meitä.

Koodi:

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

Yllä olevassa koodissa emme ole määrittäneet mitään tietotyyppiä, mutta arvoksi on annettu heti "Hello", joten VarType-funktiota käyttämällä löydämme muuttujan tietotyypin.

Avaa MSGBOX VBA-koodauksessa yllä olevassa koodissa.

Avaa sitten VarType-toiminto.

Anna nyt muuttujan nimi VARTYPE-funktion argumenttina.

Koodi:

Sub VarType_Example () Dim MyVar MyVar = "Hei" MsgBox VarType (MyVar) End Sub

Suorita nyt koodi ja katso mitä saamme viestiruudusta.

Saimme tuloksen 8, koska VBA: lla on tietyt koodit kullekin muuttuville tietotyypeille, joten alla on yksityiskohtainen luettelo sinulle.

Arvo Jatkuva Kuvaus
0 vbTyhjä Muuttujaa ei ole vielä alustettu
1 vbNull Väärät tiedot on määritetty
2 vbInteger Muuttujan arvo on ”Kokonaisluku” -tietotyyppi
3 vbPitkä Muuttujan arvo on ”Pitkä” tietotyyppi
4 vbYksittäinen Muuttujan arvo on ”yksittäinen” tietotyyppi
5 vbTupla Muuttujan arvo on ”Double” -tietotyyppi
6 vbValuutta Muuttujan arvo on ”Valuutta” -tietotyyppi
7 vbDate Muuttujan arvo on päivämäärätietotyyppi
8 vbString Muuttujan arvo on ”String” -tietotyyppi
9 vbObject Muuttujan arvo on “Object” -tietotyyppi
10 vbVirhe Muuttujan arvo on Virhearvo
11 vbBoolean Muuttujan arvo on ”looginen” tietotyyppi
12 vbMuuttuja Muuttujan arvo on “Variantti” -tyyppi (käytetään vain varianttijoukkojen kanssa)
13 vbDataObject Muuttujan arvo on Data Access Object
14 vbDecimal Muuttujan arvo on tietotyyppi ”Desimaali”
17 vbByte Muuttujan arvo on ”tavu” tietotyyppi
20 vbPitkä Muuttujan arvo on LONG LONG -tietotyyppi (voimassa vain 64-bittisillä alustoilla)
36 vbUserDefinedType Muuttujan arvo on ”käyttäjän määrittelemä” tietotyyppi
8192 vbArray Muuttujan arvo on Array.

Ok, nyt koodimme on virittänyt muuttujan tietotyypin 8: ksi, eli muuttujan nimi "MyVar" sisältää "String" -tietotyypin.

Esimerkki 2

Katso nyt alla oleva koodi.

Koodi:

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

Suoritetaan tämä koodi ja katsotaan tulos.

Tulos on 9, eli muuttuja sisälsi “Object” -tietotyypin. Kyllä, tämä on oikein, koska muuttujalle "MyVar" olemme asettaneet työkirjan viitteen "Tämä työkirja".

Esimerkki 3

Katso nyt alla oleva koodi.

Koodi:

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

Tämä palauttaa tuloksen muodossa 2.

Koska muuttujalle annettu numero 32500 on kokonaisluku.

Nyt vaihdan arvoksi 40000 ja näen tuloksen.

Koodi:

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

Tulokseksi saadaan 3.

Koska kokonaisluku päättyy arvoon 32767, niin mitä tahansa sen yläpuolella olevaa kohtaa käsitellään VBA LONG -tietotyyppinä.

Nyt liitän numeron lainausmerkeihin.

Koodi:

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

Suorita koodi ja katso tulos.

Tulokseksi saatiin 8, eli merkkijono-tietotyyppi.

Tämä johtuu siitä, että sulkeissa annettua kaikkea käsitellään merkkijonomuuttujana.

Muistettavaa

  • VARTYPE tarkoittaa muuttujaa.
  • Tietotyyppiä edustavat yksilölliset numerot, joten katso taulukosta ymmärtääksesi mikä luku edustaa muuttujan tietotyyppiä.

Mielenkiintoisia artikkeleita...