märkide arvule muutuja jooksvas väärtuses. Arvude salvestamiseks käsutatakse erinevaid vorminguid. Nad võivad olla esitatud üldises tekstivormingus (ASCII-koodis), kus igale numbrile eraldatakse üks bait. Kuna aga erinevate märkide hulk on arvude esituses üsna väike (numbrid, arvu märk ja võimalik murdosa eraldaja), siis on nende salvestamiseks ja töötlemiseks ette nähtud erivormingud, mis on ökonoomsemad üldisest tekstivormingust. Täisarvude ja reaalarvude jaoks käsutatakse fikseeritud pikkusega välju ning erinevaid esitusviise. Täisarvud teisendatakse arvutis kahendsüsteemi ning esitatakse kahend-numbrite (bittide) jadana, ühte bitti käsutatakse arvu märgi esitamiseks. Arvu maksimaalne väärtus sõltub temale eraldatud välja pikkusest max = 2n" -1, kus n on välja pikkus bittides. Käsutatakse kähe-ja neljabaidilisi välju (16 või 32 bitti), millele vastavad arvude maksimaalsed väärtused 215 -1 = 32
Näiteks makro Testi täitmisel, kui a väärtuseks sisestada 20 ja b väärtuseks 10, kuvatakse järgmine vastus: Keskmine=1005. Lause C = (a + b)/2 täitmisel sidurdatakse a väärtus b väärtusega ja saadakse 2010, mis jagamisel kahega annab tulemuseks 1005. Et vältida taolisi asju, peaks arvude sisestamisel käsutama funktsiooni InputBox järgmisel kujul: muutuja = Val(lnputBox(feacte [,päis, pakkumine])) Siin on Vai VBA sisefunktsioon, mis teisendab arvu tekstivormingust arvu-vormingusse. Makros Test2, kus arvude sisestamisel käsutatakse funktsiooni Vai, toimub arvude liitmine ning samade väärtuste korral (20 ja 10) väljastatakse vastus Keskmine = 15. Makrod demonstreerivad ka võimaliku reaktsiooni juhule, kui käsutaja klõpsas nuppu Cancel. ALAMPROGRAMMID Peaprotseduuriks võib olla ainult parameetriteta alamprogramm, alamprotseduurideks aga nii alamprogrammid kui ka funktsioonid. Andmevahetuseks peaprotseduuri ja alamprotseduuride