VBA tarpinis / sveikasis duomenų tipas (Dim kintamasis)

Sveikasis (vidinis) kintamojo tipas

VBA Int duomenų tipas naudojamas sveikiems skaičiams saugoti (be dešimtainių reikšmių). Tačiau, kaip matysime toliau, sveikųjų skaičių vertės turi būti nuo -32768 iki 32768.

Norėdami deklaruoti kintamąjį „Int“, naudokite „Dim Statement“ (trumpinys „Dimension“):

1 Dim intA kaip sveikasis skaičius

Tada, norėdami priskirti kintamojo vertę, tiesiog naudokite lygybės ženklą:

1 intA = 30000

Įtraukimas į procedūrą atrodo taip:

12345678 Antrinis pavyzdys ()“paskelbti sveikąjį skaičiųDim intA kaip sveikasis skaičius“užpildykite sveikąjį skaičiųintA = 30000“parodyti pranešimų laukelį„MsgBox intA“Pabaiga Sub

Jei paleisite aukščiau esantį kodą, bus parodytas šis pranešimų langas.

Ilgas kintamasis tipas

Kaip minėta aukščiau, „Int“ kintamieji gali saugoti tik reikšmes nuo –32768 iki 32768. Jei bandysite „Int“ kintamajam priskirti vertę, esančią už šio diapazono ribų, gausite klaidą:

Spustelėjus „De-bug“, kodas sulaužomas „Užpildykite sveikųjų skaičių eilutę sveikasis skaičius negali išsaugoti iki 50000.

Vietoj to, galite deklaruoti kintamąjį naudodami Ilgas duomenų tipas:

1 Dim longA as Long

Ilgi kintamieji gali saugoti labai ilgus duomenų tipus (nuo 2 147 483 648 iki 2 147 483 648).

<>

Kodėl turėtumėte naudoti „Int“ kintamuosius, o ne „Long“ kintamuosius?

Ilgi kintamieji naudoja daugiau atminties. Prieš daugelį metų atmintis buvo didelis rūpestis rašant kodą, tačiau dabar skaičiavimo technologija yra gerokai patobulinta ir abejotina, kad rašydami VBA kodą susidursite su atminties problemomis, kurias sukelia ilgi kintamieji.

Rekomenduojame visada naudoti ilgus kintamuosius vietoj kintamųjų. Mes tęsime šią mokymo programą, kurioje aptariami „Int“ kintamieji, tačiau atminkite, kad vietoj to galite naudoti „Long“ kintamojo tipą.

Dešimtainės vertės ir vidiniai duomenų tipai

Int kintamieji negali saugoti dešimtainių reikšmių. Jei dešimtainį skaičių perduosite sveiką skaičių, dešimtainis skaičius bus suapvalintas, kad būtų pašalintas dešimtainis.

Todėl, jei atliksite toliau nurodytą procedūrą:

12345678 Antrinis pavyzdysB ()“paskelbti sveikąjį skaičiųDim intA kaip sveikasis skaičius“užpildykite sveikąjį skaičiųintA = 3524.12“parodyti pranešimų laukelį„MsgBox intA“Pabaiga Sub

Gausite tokį rezultatą (suapvalinę žemyn):

Tačiau šis kodas žemiau:

12345678 Antrinis pavyzdysB ()“paskelbti sveikąjį skaičiųDim intA kaip sveikasis skaičius“užpildykite sveikąjį skaičiųintA = 3524,52“parodyti pranešimų laukelį„MsgBox intA“Pabaiga Sub

Grąžintų šį pranešimų laukelį (apvalinant aukštyn):

Dešimtainis / dvigubas duomenų tipas

Jei norite išsaugoti skaičių po kablelio, turėsite deklaruoti kintamąjį, leidžiantį naudoti dešimtainius skaičius. Galite naudoti 3 duomenų tipus - vieną, dvigubą arba valiutą.

1 Dim sngPrice as Single
1 Dim dbl Kaina dviguba
1 Kaina kaip valiuta

Vieno tipo duomenys suapvalins dešimtainį tašką šiek tiek kitaip nei dvigubas ir valiutos duomenų tipas, todėl tikslumui geriau naudoti dvigubą vienkartinį. Dvigubas gali turėti iki 12 skaičių po kablelio, o valiuta ir vienas gali turėti iki 4 skaičių po kablelio.

Daugiau informacijos apie šiuos duomenų tipus galite rasti čia.

Skelbti kintamąjį moduliu arba pasauliniu lygiu

Ankstesniuose pavyzdžiuose procedūros metu paskelbėme kintamąjį Int. Kintamieji, deklaruojami naudojant procedūrą, gali būti naudojami tik tos procedūros metu.

Vietoj to galite deklaruoti „Int“ kintamuosius modulio ar pasauliniu 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 teiginys, nurodantis, kad sveikojo skaičiaus kintamąjį galima naudoti visame jūsų VBA projekte.

1 Viešoji IntA kaip sveikasis skaičius

Jei deklaruotumėte sveikąjį skaičių modulio lygiu ir bandytumėte jį naudoti kitame modulyje, įvyktų klaida.

Tačiau, jei sveiką skaičių deklaruotumėte naudodami viešąjį raktinį žodį, klaida neįvyktų ir procedūra vyktų puikiai.

Konvertuoti eilutę į Int

Gali būti atvejų ar atvejų, kai skaičių, kaip eilutę, reikia konvertuoti į sveiką skaičių.

Tiesioginiame lange pastebėsite, kad sveikojo skaičiaus reikšmė eina į dešinę, nurodydama skaičių, o eilutės reikšmė - į kairę - nurodant tekstą.

Konvertuoti int į eilutę

Ir atvirkščiai, sveiką skaičių galite konvertuoti į eilutę.

Daugiau informacijos apie šiuos duomenų tipus galite rasti čia.

Formatas sveikasis skaičius saugomas kaip eilutė

<>

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave