Kahekordse muutuja tüüp
VBA Kahekordne andmetüüpi kasutatakse kümnendkohti nõudvate numbrite salvestamiseks. See võib salvestada vahemikus -1.79769313486231E308 kuni -4.94065645841247E -324 negatiivsete väärtuste jaoks ja 4.94065645841247E -324 kuni 1.79769313486232E308 positiivsete väärtuste jaoks.
Kahekordse muutuja deklareerimiseks kasutage Dim Statement (Dimensioni lühend):
1 | Dim dblA kui Double |
Seejärel kasutage muutujale väärtuse määramiseks lihtsalt võrdusmärki:
1 | dlbA = 3658,25 |
Selle protseduuri lisamine näeb välja selline:
12345678 | AlamdblExample ()'deklareerige kahekordne muutujaDim dblA kui Double'täitke kahekordne muutujadblA = 3658,25'näidake sõnumikastMsgBox dblAEnd Sub |
Kui käivitate ülaltoodud koodi, kuvatakse järgmine sõnumikast.
Üksik andmetüüp
Üksik andmetüüp on kahekordse andmetüübi lühem versioon. Selle tõttu võib see protseduuris kasutamisel ümardamist mõjutada, kuna üksik andmetüüp ümardab nelja komakohani, kahekordne andmetüüp aga 12 komakohani. Kui te ei vaja topeltandmetüüpi, võite kasutada ühe tüüpi andmetüüpi
Int või pikad andmetüübid
Kui te ei vaja kümnendkohta, võite kasutada andmetüüpi Int või Long.
1 | Dim intA täisarvuna |
1 | Dim lngB kui pikk |
Kahekordse muutuja deklareerimine moodulil või globaalsel tasandil
Eelmistes näidetes oleme deklareerinud protseduuri raames muutuja Double. Protseduuriga deklareeritud muutujaid saab kasutada ainult selle protseduuri raames.
Selle asemel saate deklareerida kahekordseid 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 muutuja Double on saadaval kasutamiseks kogu teie VBA projekti jooksul.
1 | Avalik DblA kui Double |
Kui deklareeriksite kahekordse muutuja mooduli tasemel ja prooviksite seda kasutada mõnes teises moodulis, ilmneks tõrge.
Kui aga oleksite topeltmuutuja deklareerimiseks kasutanud märksõna Avalik, ei ilmneks viga ja protseduur toimiks ideaalselt.
Vorming topelt salvestatakse stringina
Võib juhtuda, et soovite vormindada kahekordse andmetüübi stringiks - näiteks võite kuvada valuutasümboli ja ümardada numbri kahe kümnendkohani.
Selle saavutamiseks kasutate funktsiooni Vorming.
Järgmine protseduur
1234567891011 | AlamkatseDoubleToCurrencyString ()'deklareerige string muutujaDim strMoney kui string'kuulutage topelt ja lisage väärtusDim dblValue KahekordnedblValue = 44055.256'teisendada topelt kaheks kohaks pärast komastrMoney = Vorming (dblValue, "$#, ## 0.00")'vaata tulemustMsgBox strMoneyEnd Sub |
tagastaks sellise tulemuse:
Samuti võite soovida numbrit vormindatud telefoninumbrina kuvada.
See protseduur:
1234567891011 | AlamkatseDoubleToPhone ()'deklareerige string muutujaHämarda telefon stringina'kuulutage topelt ja lisage väärtusDim dblValue KahekordnedblValue = 555968541'teisendada topelt stringiks valuutasümboligastrPhone = Vorming (dblValue, "(000) -000 0000")'vaata tulemustMsgBox strPhoneEnd Sub |
tagastaks sellise tulemuse: