VBA VARTYPE funkció - Hogyan lehet megtalálni a változó adattípusát?

Excel VBA VarType függvény

A VBA VARTYPE jelentése „Változó típus”. Ez a függvény segít azonosítani az adott változóhoz rendelt adattípust, vagy egyszerű szóval azt mondhatjuk, hogy megtalálja, hogy milyen értéket tárolnak vagy rendelnek a változóhoz.

Szintaxis

VarName: Csak meg kell adnunk a változó nevét, hogy megtaláljuk a mellékelt változó nevében tárolt adatokat.

Tehát a változó nevét szintaxisként vagy argumentumként veszi fel, és a kimenetben visszaadja a változóhoz rendelt adattípust vagy a változóban tárolt adatok típusát.

Tehát, ha valaha is kíváncsi volt, hogyan lehet megtalálni a változó adattípusát vagy a változóhoz rendelt adattípust, akkor itt van egy „VarType” VBA függvény.

Példák

1. példa

A VBA-ban a kód írása közben általában deklarálunk változókat és adattípust rendelünk hozzájuk. Nézze meg például az alábbi VBA kódot.

Kód:

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

A fenti példában a változót „String” -nek nyilvánítottuk, és ehhez a stringhez az értéket „Hello” -nak rendeltük.

Ez egyenes eset, de a változók deklarálása is lehetséges anélkül, hogy hozzárendelnénk hozzájuk a változókat, így ilyen esetekben a VarType függvény segít nekünk.

Kód:

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

A fenti kódban nem rendeltünk adattípust, hanem rögtön „Hello” értéket rendeltünk hozzá, így a VarType függvény használatával megtalálhatjuk a változó adattípusát.

Nyissa meg az MSGBOX-ot VBA kódolással a fenti kódban.

Ezután nyissa meg a VarType függvényt.

Most írja be a változó nevét a VARTYPE függvény argumentumaként.

Kód:

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

Most futtassa a kódot, és nézze meg, mit kapunk az üzenet mezőben.

Az eredményt 8-ként kaptuk, mert a VBA rendelkezik bizonyos kódokkal a változó adattípusok mindegyik típusához, ezért az alábbiakban a részletes lista található.

Érték Állandó Leírás
0 vbEmpty A változó még nincs inicializálva
1 vbNull Érvénytelen adatok vannak hozzárendelve
2 vbInteger A változó értéke „Egész” adattípus
3 vbHosszú A változó értéke „Hosszú” adattípus
4 vbEgyetlen A változó értéke „Single” típusú
5. vbDupla A változó értéke „Double” adattípus
6. vbPénznem A változó értéke „Pénznem” adattípus
7 vbDate A változó értéke „Dátum” adattípus
8. vbString A változó értéke „String” adattípus
9. vbObject A változó értéke „Object” adattípus
10. vbError A változó értéke Error Value
11. vbBoolean A változó értéke „logikai” adattípus
12. vbVariant A változó értéke „Variant” adattípus (csak variáns tömbökkel használható)
13. vbDataObject A változó értéke az adatelérési objektum
14 vbDecimal A változó értéke „Decimális” adattípus
17. vbByte A változó értéke „Byte” adattípus
20 vbLongLong A változó értéke „LONG LONG” típusú (csak 64 bites platformokon érvényes)
36 vbUserDefinedType A változó értéke „Felhasználó által definiált” adattípus
8192 vbArray A változó értéke tömb.

Ok, most a kódunk újrhangolta a változó adattípust 8-ra, vagyis a „MyVar” változó neve tartalmazza a „String” adattípust.

2. példa

Most nézze meg az alábbi kódot.

Kód:

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

Futtassuk ezt a kódot, és nézzük meg, mi az eredmény.

Az eredmény 9, azaz a változó tartalmazta az „Object” adattípust. Igen, ez azért helyes, mert a „MyVar” változóhoz beállítottuk a „Ez a munkafüzet” munkafüzet hivatkozást.

3. példa

Most nézze meg az alábbi kódot.

Kód:

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

Ez 2-ként adja vissza az eredményt.

Mivel a változóhoz rendelt 32500 szám „Egész” érték.

Most megváltoztatom az értéket 40000-ra, és megnézem az eredményt.

Kód:

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

Ez 3-as eredményt ad.

Mivel az Egész szám 32767-re végződik, ezért minden felette lévő értéket VBA LONG adattípusként kezelünk.

Most dupla idézőjelek közé teszem a számot.

Kód:

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

Futtassa a kódot, és nézze meg az eredményt.

Az eredményt 8, azaz String adattípusként kaptuk.

Ennek az az oka, hogy a zárójelben megadott adatokat String változóként kezeljük.

Dolgok, amikre emlékezni kell

  • A VARTYPE jelentése „Változó típus”.
  • Az adattípust egyedi számok képviselik, ezért a táblázatból megtudhatja, melyik szám melyik változó adattípust képviseli.

érdekes cikkek...