VBA varijable, tipovi podataka i konstante u Excelu
โก Pametni saลพetak
VBA varijable, tipovi podataka i konstante u Excelu pohranjuju i oznaฤavaju vrijednosti s kojima program radi. Ova stranica objaลกnjava pravila imenovanja varijabli, implicitnu i eksplicitnu deklaraciju s Dim, numeriฤke i nenumeriฤke tipove podataka te kako deklarirati konstantu s Const.

Varijable se koriste u gotovo svim raฤunalnim programima i VBA se ne razlikuje. Dobra je praksa deklarirati varijablu na poฤetku procedure. Nije nuลพno, ali pomaลพe u prepoznavanju prirode sadrลพaja (tekst, podaci, brojevi itd.)
VBA varijable
Varijable su specifiฤne vrijednosti koje su pohranjene u memoriji raฤunala ili sustavu za pohranu. Later, moลพete koristiti tu vrijednost u kodu i izvrลกiti. Raฤunalo ฤe dohvatiti tu vrijednost iz sustava i prikazati je u izlazu. Svakoj vrsti Excel VBA varijable mora se dati naziv.
Za imenovanje varijable u VBA morate slijediti sljedeฤa pravila.
- Mora imati manje od 255 znakova
- Razmaci nisu dopuลกteni
- Ne smije zapoฤeti brojem
- Toฤka nije dopuลกtena
Evo nekoliko primjera za valjana i nevaลพeฤa imena za varijable u VBA.
| Moj sat | Moj sat |
| Novi automobil1 | 1_NewCar (ne poฤinje brojem) |
| EmployeeID | ID zaposlenika (razmak nije dopuลกten) |
In VBA, moramo deklarirati varijable prije njihove upotrebe dodjeljivanjem imena i tipa podataka.
U VBA, varijable se deklariraju implicitno ili eksplicitno.
- Implicitno: Ispod je primjer varijable deklarirane implicitno.
- label=guru99
- volumen=4
- Eksplicitno: Ispod je primjer eksplicitno deklarirane varijable. U sintaksi moลพete koristiti kljuฤnu rijeฤ "Dim".
- zamagliti Broj kao cijeli broj
- zamagliti lozinka kao niz
VBA varijabla se ne razlikuje od drugih programskih jezika. Za deklaraciju varijable u VBA koristite kljuฤnu rijeฤ "Priguลกeno."
Sintaksa za VBA varijablu,
Da biste deklarirali varijablu u VBA, upiลกite Dim nakon ฤega slijedi naziv:
Sub Exercise () Dim <name> End Sub
Prije nego ลกto izvrลกimo varijable moramo zabiljeลพiti a makro u Excelu. Za snimanje makronaredbe uฤinite sljedeฤe โ
Korak 1): Snimite makronaredbu 1
Korak 2) : Zaustavi makro 1
Korak 3): Otvorite Macro editor, unesite kod za varijablu u Macro1
Korak 4): Izvrลกite kod za Makro 1
Primjer, za VBA varijablu
Sub Macro1() Dim Num As Integer Num = 99 MsgBox " Guru " & Num End Sub
Kada pokrenete ovaj kod, dobit ฤete sljedeฤi izlaz na svom listu.
Excel VBA vrste podataka
Raฤunalo ne moลพe razlikovati brojeve (1,2,3..) i nizove (a,b,c,..). Za ovu razliku koristimo vrste podataka.
VBA tipovi podataka mogu se podijeliti u dva tipa
- Numeriฤke vrste podataka
| Tip | ฤuvanje | Raspon vrijednosti |
|---|---|---|
| Bajt | Bajt 1 | 0 255 se |
| Integer | 2 bajtova | -32,768 da 32,767 |
| Dug | 4 bajtova | -2,147,483,648 da 2,147,483,648 |
| jedan | 4 bajtova | -3.402823E+38 do -1.401298E-45 za negativne vrijednosti 1.401298E-45 do 3.402823E+38 za pozitivne vrijednosti. |
| Double | 8 bajtova | -1.79769313486232e+308 do -4.94065645841247E-324 za negativne vrijednosti 4.94065645841247E-324 do 1.79769313486232e+308 za pozitivne vrijednosti. |
| Valuta | 8 bajtova | -922,337,203,685,477.5808 da 922,337,203,685,477.5807 |
| Decimal | 12 bajtova | +/- 79,228,162,514,264,337,593,543,950,335 ako se ne koristi decimala +/- 7.9228162514264337593543950335 (28 decimalnih mjesta) |
- Nenumeriฤki tipovi podataka
| Tip podataka | Iskoriลกteni bajtovi | Raspon vrijednosti |
|---|---|---|
| Niz (fiksna duljina) | Duljina niza | 1 do 65,400 znakova |
| Niz (varijabilna duljina) | Duljina + 10 bajtova | 0 do 2 milijarde znakova |
| Booleova | 2 bajtova | Istina ili laลพ |
| Datum | 8 bajtova | 1. sijeฤnja 100. do 31. prosinca 9999 |
| Objekt | 4 bajtova | Bilo koji ugraฤeni objekt |
| Varijanta (brojฤana) | 16 bajtova | Bilo koja vrijednost velika kao Double |
| Varijanta (tekst) | Duljina +22 bajta | Isto kao niz promjenjive duljine |
U VBA, ako je tip podataka nije naveden, automatski ฤe deklarirati varijablu kao varijantu.
Pogledajmo primjer kako deklarirati varijable u VBA. U ovom primjeru ฤemo deklarirati tri vrste varijabli niz, datum spajanja i valutu.
Korak 1) Kao, u prethodnom vodiฤu, umetnut ฤemo commandButton1 u naลก Excel list.
Korak 2) U sljedeฤem koraku desnom tipkom miลกa kliknite gumb i odaberite Pregled koda. Otvorit ฤe se prozor koda kao ลกto je prikazano u nastavku.
Korak 3) U ovom koraku
- Spremite svoju datoteku klikom na gumb za spremanje
- Zatim kliknite na ikonu programa Excel
u istom prozoru da biste vratili Excel list.
- Moลพete vidjeti da je naฤin dizajna "ukljuฤen" oznaฤen zelenom bojom
Korak 4) Iskljuฤite naฤin dizajna prije klika na naredbeni gumb
Korak 5) Nakon ลกto iskljuฤite naฤin dizajna, kliknuti ฤete na commandButton1. Prikazat ฤe sljedeฤu varijablu kao izlaz za raspon koji smo deklarirali u kodu.
- Ime
- Datum pridruลพenja
- Prihod u valuti
Konstanta u VBA
Konstanta je poput varijable, ali je ne moลพete mijenjati. Za deklaraciju VBA konstanti, moลพete koristiti kljuฤnu rijeฤ Konst.
Postoje dvije vrste konstante,
- Ugraฤeno ili intrinziฤno koje pruลพa aplikacija.
- Simboliฤko ili korisniฤki definirano
Moลพete odrediti opseg kao privatni prema zadanim postavkama ili javni. Na primjer,
Javni konst Dani u godini=365
Privatni konst radni dani=250
Preuzmite Excel koji sadrลพi gornji kod
Opseg varijable i eksplicitna opcija
Mjesto gdje je varijabla deklarirana odreฤuje gdje se moลพe koristiti, a jedna mala postavka na vrhu modula sprjeฤava veฤinu typing pogreลกke. Razumijevanje oba ฤini rastuฤi program pouzdanim.
| Rijeฤ | Djelokrug | ลฝivot |
|---|---|---|
| Dim (unutar podskupine) | Samo postupak u kojem je deklariran | Resetiraj svaki put kada se postupak pokrene |
| statiฤki | Samo postupak, ali vrijednost je saฤuvana | Zapamฤeno izmeฤu poziva |
| Privatno (na vrhu modula) | Svaki postupak u tom modulu | ลฝivi dok je radna knjiga otvorena |
| Javno (na vrhu modula) | Svaki modul u projektu | ลฝivi dok je radna knjiga otvorena |
๐ก Savjet: Tip Opcija Eksplicitno kao prvi redak svakog modula. Prisiljava svaku varijablu da se deklarira s Dim, tako da se pogreลกno napisano ime hvata tijekom kompajliranja umjesto da se tiho stvori novi prazni Variant.






