Egész (Int) változó típusa
A VBA Int az adattípust egész számok tárolására használják (tizedes értékek nélkül). Az alábbiakban azonban látni fogjuk, hogy az egész számoknak a -32768 és 32768 közötti tartományba kell esniük.
Int változó deklarálásához használja a Dim Statement (a Dimension rövidítése) kifejezést:
1 | Dim intA mint egész |
Ezután, ha értéket szeretne rendelni egy változóhoz, egyszerűen használja az egyenlőségjelet:
1 | intA = 30000 |
Ennek az eljárásba történő beillesztése így néz ki:
12345678 | Sub -IntExample ()'deklarálja az egész számotDim intA mint egész'töltse ki az egész számotintA = 30000'mutasd az üzenetdoboztMsgBox intAEnd Sub |
Ha futtatja a fenti kódot, a következő üzenetmező jelenik meg.
Hosszú változó típus
Amint fentebb említettük, az Int változók csak a –32768 és 32768 közötti értékeket tárolhatnak. Ha ezen a tartományon kívüli értéket próbál hozzárendelni egy Int változóhoz, akkor hibaüzenetet kap:
Ha rákattint a hibakeresésre, a kód megszakad a 'Töltse ki az egész sort mivel egész szám nem tud 50000 -as számot tárolni.
Ehelyett deklarálhat egy változót a Hosszú adattípus:
1 | Dim longA as Long |
A hosszú változók nagyon hosszú adattípusokat tudnak tárolni (-2 147 483 648 és 2 147 483 648 között).
<>
Miért használna Int változókat a hosszú változók helyett?
A hosszú változók több memóriát igényelnek. Évekkel ezelőtt a memória nagy gondot okozott a kódírás során, azonban most a számítástechnika sokat fejlődött, és kétséges, hogy a VBA -kód írása során memóriaproblémákkal fog találkozni, amelyeket hosszú változók okoznak.
Javasoljuk, hogy mindig hosszú változókat használjon az Int változók helyett. Folytatjuk ezt az oktatóanyagot, amely az Int változókat tárgyalja, de ne feledje, hogy helyette használhatja a Long változó típust.
Tizedes értékek és belső adattípusok
Az Int változók nem tudnak tizedes értékeket tárolni. Ha egy tizedes számot egész számmal ad át, akkor a tizedes számot kerekítve távolítja el a tizedest.
Ezért ha az alábbi eljárást hajtaná végre:
12345678 | Belső PéldaB ()'deklarálja az egész számotDim intA mint egész'töltse ki az egész számotintA = 3524,12'mutasd az üzenetdoboztMsgBox intAEnd Sub |
A következő eredményt kapja (lefelé kerekítve):
Ez az alábbi kód azonban:
12345678 | Belső PéldaB ()'deklarálja az egész számotDim intA mint egész'töltse ki az egész számotintA = 3524,52'mutasd az üzenetdoboztMsgBox intAEnd Sub |
A következő üzenetmezőt adja vissza (felfelé kerekítve):
Tizedes / kettős adattípus
Ha tizedesjegyet szeretne tárolni, akkor deklarálnia kell egy változót, amely lehetővé teszi a tizedesjegyeket. Három adattípust használhat - Egyszeres, Dupla vagy Pénznem.
1 | Dim sngPrice Single |
1 | Dim dblÁr dupla |
1 | Halvány curPrice mint pénznem |
Az Egyetlen adattípus a tizedespontot kissé eltérően kerekíti a kettős és a pénznem adattípustól, ezért a pontosság érdekében előnyös a kettős az egyszeres használata. A kettős legfeljebb 12 tizedesjegyet tartalmazhat, míg a valuta és az egyes kettő akár 4 tizedesjegyet is.
Ezen adattípusokról további információt itt talál.
Az Int változó deklarálása modulon vagy globális szinten
Az előző példákban az Int változót deklaráltuk egy eljáráson belül. Az eljárással deklarált változók csak ezen az eljáráson belül használhatók.
Ehelyett deklarálhatja az Int változókat modul vagy globális szinten.
Modul szint
A modul szintje a változókat a kódmodulok tetején a Homályos nyilatkozat.
Ezek a változók az adott kódmodul bármely eljárásával használhatók.
Globális szint
Globális szinten a változókat a kódmodulok tetején is deklarálják. Azonban ahelyett, hogy a Homályos nyilatkozatot, használja a Nyilvános utasítás, amely azt jelzi, hogy az egész változó használható a VBA -projekt során.
1 | Nyilvános IntA mint egész |
Ha az egész számot modul szinten deklarálná, majd egy másik modulban próbálná használni, akkor hiba lépne fel.
Ha azonban a Public kulcsszót használta volna az egész szám deklarálásához, akkor a hiba nem fordulna elő, és az eljárás tökéletesen futna.
String konvertálása Int
Előfordulhat olyan eset, amikor egy karakterláncként tárolt számot egész értékre kell konvertálnia.
A közvetlen ablakban észre fogja venni, hogy az egész szám jobbra megy, számot jelezve, míg a karakterlánc értéke balra - szövegre utalva.
Az Int konvertálása karakterlánccá
Ezzel szemben egy egész értéket karakterlánccá alakíthat át.
Ezen adattípusokról további információt itt talál.
Karakterláncként tárolt egész formátum
<>