Muutuja tüüp täisarv (Int)
VBA Int andmetüüpi kasutatakse täisarvude salvestamiseks (ilma kümnendväärtusteta). Kuid nagu allpool näeme, peavad täisarvu väärtused jääma vahemikku -32768 kuni 32768.
Int muutuja deklareerimiseks kasutage Dim Statement (lühend Dimension):
1 | Dim intA täisarvuna |
Seejärel kasutage muutujale väärtuse määramiseks lihtsalt võrdusmärki:
1 | intA = 30000 |
Selle protseduuri lisamine näeb välja selline:
12345678 | Alam -näide ()'deklareerige täisarvDim intA täisarvuna'täitke täisarvintA = 30000'näidake sõnumikastMsgBox intAEnd Sub |
Kui käivitate ülaltoodud koodi, kuvatakse järgmine sõnumikast.
Pika muutuja tüüp
Nagu eespool mainitud, saavad Int -muutujad salvestada väärtusi ainult vahemikus –32768 kuni 32768. Kui proovite Int -muutujale määrata väärtuse, mis jääb sellest vahemikust välja, kuvatakse tõrketeade:
Kui klõpsate nupul De-bug, klõpsab kood 'Täitke täisarv täisarv ei saa talletada kuni 50000 numbrit.
Selle asemel saate muutuja deklareerida nupuga Pikk andmetüüp:
1 | Hämarda kauaA kui pikk |
Pikad muutujad võivad salvestada väga pikki andmetüüpe (-2 147 483 648 kuni 2 147 483 648).
<>
Miks peaksite pikkade muutujate asemel kasutama Int -muutujaid?
Pikad muutujad kasutavad rohkem mälu. Aastaid tagasi oli mälu koodi kirjutamisel suur probleem, kuid nüüd on arvutitehnoloogia palju täiustatud ja on kaheldav, kas VBA -koodi kirjutamisel ilmnevad mäluprobleemid, mida põhjustavad pikad muutujad.
Int muutujate asemel soovitame alati kasutada pikki muutujaid. Jätkame seda õpetust Int muutujate arutamise kohta, kuid pidage meeles, et saate selle asemel kasutada muutuja tüüpi Long.
Kümnendväärtused ja sisetüübid
Int muutujad ei saa kümnendväärtusi salvestada. Kui edastate kümnendkoha täisarvu, ümardatakse kümnendarv kümnendkoha eemaldamiseks.
Seega, kui peaksite järgima järgmist protseduuri:
12345678 | AlamvahemikB ()'deklareerige täisarvDim intA täisarvuna'täitke täisarvintA = 3524,12'näidake sõnumikastMsgBox intAEnd Sub |
Saate järgmise tulemuse (allapoole ümardamine):
Kuid see kood allpool:
12345678 | AlamvahemikB ()'deklareerige täisarvDim intA täisarvuna'täitke täisarvintA = 3524,52'näidake sõnumikastMsgBox intAEnd Sub |
Tagastab järgmise sõnumikasti (ümardamine):
Kümnend / kahekordne andmetüüp
Kui soovite salvestada kümnendkoha, peate deklareerima muutuja, mis võimaldab komakohti. Kasutada saab 3 andmetüüpi - ühe-, kahe- või valuuta.
1 | Dim sngHind üksikuna |
1 | Dim dblHind kahekordselt |
1 | Hämardage valuuta valuutat |
Üksik andmetüüp ümardab kümnendkoha veidi teisiti kui topelt- ja valuuta andmetüüp, seega on täpsuse huvides eelistatav kasutada kahekordset ühele. Kahekordsel võib olla kuni 12 kohta pärast koma, samas kui valuutal ja üksikul võib olla kuni neli kohta pärast koma.
Nende andmetüüpide kohta lisateabe saamiseks vaadake siin.
Deklareerige muutuja moodulis või globaalsel tasandil
Eelmistes näidetes oleme protseduuri käigus deklareerinud muutuja Int. Protseduuriga deklareeritud muutujaid saab kasutada ainult selle protseduuri raames.
Selle asemel saate deklareerida Int muutujaid mooduli või globaalsel tasandil.
Mooduli tase
Mooduli tase muutujad deklareeritakse koodimoodulite ülaosas koos Dim avaldus.
Neid muutujaid saab selle koodimooduli mis tahes protseduuriga kasutada.
Globaalne tase
Globaalne tase muutujad deklareeritakse ka koodimoodulite ülaosas. Selle asemel, et kasutada Dim avaldust, kasutage Avalik avaldus, mis näitab, et täisarvuline muutuja on saadaval kasutamiseks kogu teie VBA projektis.
1 | Avalik IntA täisarvuna |
Kui deklareerite täisarvu mooduli tasemel ja proovite seda kasutada mõnes teises moodulis, ilmneb tõrge.
Kui aga oleksite täisarvu deklareerimiseks kasutanud märksõna Avalik, ei ilmneks viga ja protseduur toimiks ideaalselt.
Teisenda string int
Võib esineda juhtumeid või juhtumeid, kui peate stringina salvestatud arvu teisendama täisarvuliseks väärtuseks.
Vahetus aknas märkate, et täisarvu väärtus läheb paremale, näidates numbrit, samas kui stringi väärtus läheb vasakule - see näitab teksti.
Teisenda int stringiks
Ja vastupidi, saate täisarvu väärtuse teisendada stringiks.
Nende andmetüüpide kohta lisateabe saamiseks vaadake siin.
Vorming täisarv salvestatakse stringina
<>