Adjan AutoPro

Excel VBA (04 Promenljive, Tipovi Podataka)

VBA sadrži veliki broj tipova promenljivih. Dajemo u nastavku spisak tipova promenljivih uz kratak opis svake od njih.

Boolean

Boolean je promenljiva koja može imati dve vrednosti, True (logički tačno) ili False (logički netačno). Za postavljanje vrednosti Boolean promenljive se mogu koristiti ključne reči True i False, kao u primeru ispod.

Dim X As Boolean
X = True

Prilikom konvertovanja Boolean promenljive u neki drugi tip podataka (na primer, u numeričku vrednost), True vraća -1, a False vraća 0. Sa druge strane, kada se numerička vrednost konvertuje u Boolean vrednost, jedino 0 vraća False, a svi ostali brojevi vraćaju True. Boolean promenljiva zauzimaju dva bajta.

Byte

Ovaj tip podatka se koristi za smeštanje manjih pozitivnih brojeva, od 0 do 255. Byte promenljiva zauzima 1 bajt memorije, najmanje memorije u odnosu na bilo koji drugi tip.

Currency

Currency tip služi za rad sa novcem, odnosno tamo gde je vrlo važna tačnost kalkulacija. Podržava pozitivne i negativne brojeve veličine do 15 cifara sa leve strane decimalne tačke i 4 cifre sa desne strane. Opseg ovog tipa je od –922 337 203 685 477.5808 do 922 337 203 685 477.5807. Za razliku od Single i Double tipova podataka, Currency tip je tačan, tj. nije zaokružen. Ovaj tip zauzima 8 bajtova.

Date

Ovaj tip podataka se koristi za smeštanje datuma i vremena. Koristi osam bajtova. VBA može da radi sa datumima iz opsega 1.1.100.–31.12.9999. i vremenom od 0:00:00 do 23:59:59. Dodeljivanje vrednosti Date promenljivoj se vrši pomoću karaktera taraba (#) sa kojim počinje i završava se vrednost. Na primer, datum 14.9.2020. bi se u Date promenljivu Danas uneo na bilo koji od sledećih načina:

Danas = #September 14, 2020#
Danas = #14/9/2020#

Vreme se unosi na sličan način, tj. pomoću karaktera #. Na primer, Date promenljivoj Sad se dodela vrši na sledeći način:

Sad = #17:15 PM# 

U Code prozoru, VBA konvertuje unešeni podatak u format datuma koji je sistemski podešen. Na primer, ako unesete September 14, 2020, VBA će, verovatno, prikazati 9/14/2020. Slično, vreme 17:15 PM bi se verovatno konvertovalo u 5:15:00 PM

Decimal

Decimal promenljive se smeštaju kao 12-bajtni označeni celi brojevi skalirani promenljivim stepenom broja 10. Stepen broja 10 određuje broj decimalnih mesta broja i varira od 0 do 28. Bez decimalnih mesta (stepen broja 10 je 0), granice opsega vrednosti su +/-79 228 162 514 264 337 593 543 950 335. Sa 28 decimalnih mesta, granice opsega vrednosti su +/-7.9228162514264337593543950335, a najmanja nenulta vrednost je +/-10-28. Decimal tip podataka je podtip tipa Variant i nije tip podataka za sebe. To znači da ne možete deklarisati promenljivu tipa Decimal.

Single

Single tip podataka je 4-bajtni tip koji radi sa brojevima u pokretnom zarezu (IEEE format). Single može da radi sa negativnim brojevima u opsegu od -3.402823μ1038 do -1.401298μ10-45 i pozitivnih u opsegu od 1.401298μ10-45 do 3.402823μ1038.

Double

Double je 8-bajtni tip podataka, i kao i Single, namenjen za brojeve u pokretnom zarezu (IEEE format). U njega se mogu smestiti negativni brojevi od 1.79769313486231μ10308 do -4.94065645841247μ10-324, i pozitivni brojevi od 4.94065645841247μ10-324 do 1.79769313486232μ10308.

Integer

Integer tip podataka je 2-bajtni tip podataka koji može da radi sa cijelim brojevima iz opsega od -32 768 do 32 767. Ovo je možda najčešče korišćeni tip VBA promenljivih jer je dati opseg dovoljan za najveći broj zadataka.

Long

Long tip je 4-bajtni tip podataka namenjen za rad sa celobrojnim vrednostima iz opsega od -2 147 483 648 do 2 147 483 647. Object U promenljivima tipa Object se smeštaju adrese objekata. Dodeljivanje vrednosti promenljivoj tipa Object se vrši naredbom Set. Object promenljive zauzimaju 4 bajta.

String

String tip podataka služi za smeštanje teksta. Stringovi mogu da sadrže slova, brojeve, blanko, interpunkcijske znake i specijalne karaktere. Postoje stringovi promenljive i fiksne dužine. Stringovi promenljive dužine mogu sadržati i do dve milijarde (tačnije, 231) karaktera; zauzimaju 10 bajtova plus memoriju koja je potrebna za smeštanje stringa. Stringovi fiksne dužine mogu sadržati od jednog do 64 000 karaktera i oni zauzimaju samo memorijski prostor potreban za smeštanje stringa. Ako je podatak koji je dodeljen stringu kraći od fiksne dužine, VBA dodaje stringu blanko znake da bi ga dopunio do fiksne dužine. Ako je podatak koji je dodeljen stringu duži od fiksne dužine, VBA odseca deo koji je suvišan. VBA broji karaktere sa leve strane stringa. Na primer, ako dodelite string “Programiranje” string promenljivoj fiksne dužine od sedam karaktera, VBA će smestiti samo podstring “Program”.

Variant

Ovaj tip podataka VBA dodeljuje svim promenljivim čiji tip nije eksplicitno deklarisan, tako da će deklaracija tipa

Dim Indeks 

kreirati Variant promenljivu Indeks. Variant promenljiva se može deklarisati i eksplicitno, na primer

Dim Indeks as Variant 

Promenljive tipa Variant mogu da smeštaju većinu ostalih tipova podataka, pri čemu treba voditi računa o sledećim pojedinostima:
• Promenljive tipa Variant ne mogu sadržati stringove fiksne dužine.
• Promenljive tipa Variant sadrže i četiri specijalne vrednosti: Empty (znači da promenljiva nije inicijalizovana), Error (specijalna vrednost koja se koristi za pronalaženje grešaka u proceduri), Nothing (specijalna vrednost koja služi za odvajanje promenljive od objekta za koji je bila vezana) i Null (koristi se da označi da promenljiva namerno ne sadrži podatke).
• Zbog svojih dodatnih mogućnosti, Variant promenljive zauzimaju više memorije od ostalih tipova promenljivih. Variant promenljive koje sadrže brojeve zauzimaju do 16 bajtova, a Variant promenljive koje sadrže karaktere zauzimaju i do 22 bajta, plus memorijski prostor potreban za smeštanje karaktera.

Kod koji je korišćen u ovom tutorialu je:

Private Sub CommandButton1_Click()

' deklarisanje tipova podataka
Dim nekiBroj As Integer
Dim veciBroj As Long
Dim nekaRec As String
Dim datum As Date
Dim jestTacno As Boolean

' dodeljivanje vrednosti
nekiBroj = 25
veciBroj = 123456789
nekaRec = "moja prva rec!"
datum = Now()
jestTacno = True


' ==== TESTIRANjE 1 =====
MsgBox "Testing1: " & nekiBroj
MsgBox "Testing2: " & veciBroj
MsgBox "Testing3: " & nekaRec
MsgBox "Testing4: " & datum

' ==== TESTIRANjE 2 =====
Debug.Print "Testing1: " & nekiBroj & ", Testing2: " & veciBroj & ", Testing3: " & nekaRec & ", Testing4: " & datum

End Sub

Dokument o ovim tipovima podataka kao i Excel dokument iz ovog videa možete preuzeti na linku ispod.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top