Vieno kintamojo tipas
VBA Vienišas duomenų tipas naudojamas skaičiams, kuriems reikia dešimtainių skaičių, saugoti. Jis gali saugoti nuo –3.4028235E+38 iki –1.401298E -45, jei yra neigiamos vertės, ir nuo 1.401298E -45 iki 3.4028235E+38, jei yra teigiamų verčių.
Norėdami deklaruoti vieną kintamąjį, naudokite „Dim Statement“ (trumpinys „Dimension“):
1 | Dim sngA as Single |
Tada, norėdami priskirti kintamojo vertę, tiesiog naudokite lygybės ženklą:
1 | sngA = 3658,25 |
Įtraukimas į procedūrą atrodo taip:
12345678 | SngExample ()“paskelbti dvigubą kintamąjįDim sngA as Single“užpildykite dvigubą kintamąjįsngA = 3658,25“parodyti pranešimų laukelį„MsgBox sngA“Pabaiga Sub |
Jei paleisite aukščiau esantį kodą, bus parodytas šis pranešimų langas.
Dvigubas duomenų tipas
Dvigubas duomenų tipas yra tik ilgesnė Vienišas duomenų tipas. Dėl šios priežasties jis gali suapvalinti, kai naudojamas kaip procedūra Vienišas duomenų tipas suapvalins iki 4 dešimtųjų tikslumu, o Dvigubas duomenų tipas suapvalins iki 12 skaičių po kablelio. Jei jums reikia daugiau nei 4 skaitmenų po kablelio, galite naudoti dvigubą duomenų tipą.
Vidiniai arba ilgi duomenų tipai
Jei jums nereikia dešimtainio skaičiaus, galite naudoti duomenų tipą „Int“ arba „Long“.
1 | Dim intA kaip sveikasis skaičius |
1 | Dim lngB kaip ilgas |
VBA programavimas | Kodo generatorius jums tinka!
Skelbti vieną kintamąjį moduliu arba pasauliniu lygiu
Ankstesniuose pavyzdžiuose mes paskelbėme Vienišas kintamas procedūros metu. Kintamieji, deklaruojami naudojant procedūrą, gali būti naudojami tik tos procedūros metu.
Vietoj to galite deklaruoti pavienius kintamuosius modulio ar visuotiniu lygiu.
Modulio lygis
Modulio lygis kintamieji deklaruojami kodo modulių viršuje su Mat pareiškimas.
Šiuos kintamuosius galima naudoti atliekant bet kokias to kodo modulio procedūras.
Pasaulinis lygis
Pasaulinis lygis kintamieji taip pat deklaruojami kodo modulių viršuje. Tačiau, užuot naudoję Mat teiginį, naudokite Viešas pareiškimas, nurodantis, kad Vienišas kintamąjį galima naudoti visame VBA projekte.
1 | Viešoji SngA kaip vieniša |
Jei deklaruotumėte Vienišas kintamąjį modulio lygiu ir tada pabandykite jį naudoti kitame modulyje, atsiras klaida.
Tačiau, jei deklaracijai naudojote viešą raktinį žodį Vienišas kintamasis, klaida neįvyks ir procedūra veiks puikiai.
Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!
Formatuoti vieną, išsaugotą kaip eilutę
Gali būti laikas, kai vieną duomenų tipą norite suformatuoti į eilutę - pavyzdžiui, galite parodyti valiutos simbolį ir suapvalinti skaičių iki 2 skaičių po kablelio.
Norėdami tai padaryti, naudokite funkciją Formatas.
Toliau nurodyta procedūra
1234567891011 | Sub TestSingleToCurrencyString ()“paskelbti eilutės kintamąjį„Dim strMoney“ kaip eilutė“paskelbti singlą ir įrašyti vertęDim sngValue As SinglesngValue = 44055.256'konvertuokite singlą į eilutę su valiutos simboliu su 2 kableliais po kableliostrMoney = Formatas (sngValue, "$#, ## 0.00")'pamatyti rezultatą„MsgBox strMoney“Pabaiga Sub |
grąžintų tokį rezultatą:
Panašiai galbūt norėsite rodyti numerį kaip suformatuotą telefono numerį.
Ši procedūra:
1234567891011 | Antrasis testas „SingleToPhone“ ()“paskelbti eilutės kintamąjį„Dim strPhone“ kaip eilutė“paskelbti singlą ir įrašyti vertęDim sglValue Kaip vienišassglValue = 555968541'konvertuokite singlą į eilutę su valiutos simboliustrPhone = Formatas (sglValue, "(000) -000 0000")'peržiūrėti rezultatą„MsgBox strPhone“Pabaiga Sub |
grąžintų tokį rezultatą: