VBA adattípus
Az adattípus bármely változó alapvető karaktere, ez azt jelenti, hogy milyen típusú értéket tárolhatunk a változóban, és mi a határ vagy az értéktartomány, amelyet a változóban tárolhatunk, az adattípusok beépített VBA és a felhasználónak vagy a fejlesztőnek tisztában kell lennie azzal, hogy melyik típusú érték melyik adattípusban tárolható. A változókhoz hozzárendelt adattípusok megmondják a változó fordító tárolási méretét.
A VBA-ban kétféle adattípusunk van, azaz numerikus és nem numerikus.
Mielőtt bármilyen adattípust rendelnénk, először deklarálnunk kell a változó nevét. A változó egy név, amely az értéket a hozzárendelt adattípuson keresztül tartja. Miközben nevet adunk a változónak, néhány dolgot szem előtt kell tartanunk.
Kétféleképpen definiálhatjuk a változót. Az egyik a „hallgatólagosan”, a másik pedig a „kifejezetten”.
- A változó meghatározásának implicit módja a „DIM” szó és az adattípus használata nélkül. Például a MyValue = 500 a implicit módon deklarálható egy változó.
- A változó meghatározásának kifejezett módja a „DIM” szó és a hozzá társított adattípus. Például Dim MyValue egész számként .

A top 2 adattípus típusa
Ahhoz, hogy az adattípust először a változóhoz rendeljük, meg kell értenünk az adattípusok típusait. A jobb megértés érdekében két táblába sorolhatjuk.
# 1 - Numerikus adattípusok
Ezek csak számértékeket tartalmazhatnak. A leggyakoribb numerikus adattípusok a bájt, az egész szám, a hosszú, az egy, a kettős, a pénznem és a tizedes.
Mindegyik adattípus megtarthatja a megfelelő értékeket. Az alábbiakban részletes magyarázatot adunk.
- Egy bájt 0 és 255 közötti értékeket képes megtartani. 255-nél többet nem tartalmazhat.
- Az egész szám -32768 és 32768 közötti értékeket tartalmazhat. Tízes számokat nem tartalmazhat.
- Hosszú fér értékeket -2147483648 a 2147483648.
- Az egyetlen adattípus legfeljebb 7 számjegyből állhat, például 1234567, 1,245564.
- A kettős adattípus legfeljebb 15 számjegyből állhat. Ez csak a Single adattípus kibővítése.
- A pénznem adattípusa 15 számjegyet tartalmazhat a tizedesérték előtt, 4 számjegyet pedig a tizedesérték után.
- A tizedes adattípus legfeljebb 28 tizedesjegyet tartalmazhat. Ha 15 tizedesjegynél többet szeretne tárolni, használhatja ezt az adattípust.
# 2 - Nem numerikus adattípusok
Ezek az adattípusok a számértékek kivételével bármi más értéket tartalmazhatnak. A leggyakrabban használt nem numerikus adattípusok: Variant , String, Boolean, Date, Object.
- Karakterlánc: Kétféle karakterlánc adattípus létezik. Az egyik számszerű adatokat, a másik pedig nem numerikus adatokat tartalmazhat.
- Karakterlánc A rögzített hosszúság 1 és 65400 karakter közötti karaktereket tartalmazhat.
- Karakterlánc A változó hosszúságú karakter 0 és 2 milliárd karakter közötti lehet.
- A Boolean logikai eredményértékeket tartalmazhat, azaz IGAZ vagy HAMIS.
- Egy dátum csak dátumértékeket tartalmazhat 1009. január 1-jétől 9999-ig
- Az objektum csak a Microsoft termék objektumait tárolhatja. Például Munkalap, Munkafüzet, Tartomány, PowerPoint, Word.
- Egy változatnak két adattípusa is van, azaz Szöveg és Numerikus.
- A Variant Text ugyanolyan szövegértékeket tartalmazhat, mint a String Variable hosszúság változó.
- A Numeric variáns ugyanolyan számértékeket tárolhat, mint a Double adattípus .
Példák különféle VBA adattípusok használatára
Például, ha először adattípust szeretnénk hozzárendelni, akkor a „ Dim” szó használatával deklarálnunk kell egy változót .
Kód:
DT_Példa1 () Dim k Vége Sub
Most az „As” szót használva hozzá kell rendelnünk az adattípust. Most az adattípust „ Byte” -ként fogom hozzárendelni .
Kód:
Sub DT_Example1 () Dim k As Byte End Sub
Mint tudjuk, a Byte adattípus 0 és 255 közötti értékeket képes megtartani. De a teszteléshez 255-nél nagyobb értéket rendelek hozzá.
Kód:
DT_Példa1 () Dim k As bájt k = 260 End Sub
Most, ha futtatom ezt a kódot, akkor a "Over Flow" hibát kapjuk.

Hasonlóképpen, más adattípusok is tartalmazhatnak értékeket a határértékeiknek megfelelően.
Most vessen egy pillantást az alábbi kódra.
Kód:
DT_Example2 () Dim k As logikai k = 100 MsgBox k End Sub
Az adattípus „Boolean”, azaz IGAZ vagy HAMIS. De a „k” változóhoz „100” értéket rendeltem.
Futtassa ezt a kódot, és nézze meg, mi történik.

Az eredmény „ Igaz”.
Az ok, amiért igazat kaptunk, mert az excel 0-nál többet bármit IGAZként, a 0-t HAMISAKként kezel.
Most nem numerikus értéket rendelek hozzá, és megnézem, mi történik.

Azért kaptuk a hibát, mert a „Boolean” nem fogadhat el TRUE vagy FALSE kivételével más szövegértékeket.