Znakovi i ključne riječi koje koristimo za upravljanje varijablama u VBA nazivaju se VBA operatori. Na primjer, u redovima ispod redovi =, +,>, & su operatori.
sub Examp () a = 12 b = 10 c = a+b debug.print "Zbroj a i b je" & c end sub
Postoji pet vrsta operatora u bilo kojem programskom jeziku, dakle u VBA
1. Operator dodjele
2. Aritmetički operator
3. Operator usporedbe
4. Logički operater
5. Operater spajanja
Pogledajmo svaku vrstu operatora u Excelu VBA.
1. Operator dodjele (=)
Ovo je prvi operator koji ćete koristiti u bilo kojem programskom jeziku. U VBA -i se koristi za dodjeljivanje vrijednosti varijablama. To je "=" (jednako je).
Ovaj operator koristimo za dodjeljivanje vrijednosti varijablama u excelu VBA. Također se koristi kao operator usporedbe u VBA. O tome ćemo kasnije u ovom vodiču.
Jedan jednostavan primjer je
sub test () a = 10 Raspon ("A1"). vrijednost = krajnja pod
U gornjem primjeru prvo koristimo operator dodjeljivanja "=" za dodjeljivanje vrijednosti varijabli "a", a zatim pomoću operatora "=" dodjeljujemo vrijednost "a" vrijednosti raspona ("A1").
2. Aritmetički operatori
Aritmetički operatori isti su operatori koje koristimo od djetinjstva za jednostavne izračune. U Excelu VBA ti se operatori koriste za izračune varijabli i brojeva. Oni su:
(+) Aritmetički dodatak:Ovaj se operater koristi za dodavanje dva ili više brojeva ili vrijednosti dviju ili više varijabli. Donji redovi zbrajaju vrijednosti dviju varijabli i ispisuju je na ćeliji "A1".
Sub Test () a = 10 b = 12 Raspon ("A1"). Vrijednost =a+b Kraj podm
A1 će imati 22. Ovaj operator radi i kao operator povezivanja. Ako oboje, a i b imaju vrijednosti niza, operator + će raditi kao operator povezivanja. Vidjet ćemo kako, kasnije u članku.
(-) Aritmetičko oduzimanje:Ovaj se operater koristi za oduzimanje jedne vrijednosti od druge vrijednosti varijabli. Donji redak oduzima vrijednost a od b i ispisuje je u ćeliji "A1".
Sub Test () a = 10 b = 12 Raspon ("A1"). Vrijednost =b-a Kraj podm
A1 na listu će imati 2.
(*) Aritmetičko množenje:Ovaj operator se koristi za množenje ili dobivanje proizvoda dva ili više brojeva ili vrijednosti dviju ili više varijabli. Donji retci množe vrijednosti dviju varijabli i ispisuju ih u ćeliji "A1".
Sub Test () a = 10 b = 12 Raspon ("A1"). Vrijednost =a*b Kraj podm
Ćelija A1 imat će vrijednost 120.
(/) Aritmetička podjela:Ovaj operator se koristi za dijeljenje jedne vrijednosti od druge. Donji redak dijeli vrijednost b varijablom a i ispisuje je na ćeliji "A1".
Sub Test () a = 10 b = 12 Raspon ("A1"). Vrijednost =b/a Kraj podm
Ćelija A1 imat će vrijednost 1.2.
(Mod) Operator aritmetičkog ostatka u VBA: Dok većina PL -a koristi % (modul) za dobivanje ostatka, u VBA -i koristimo ključnu riječ Mod. Ovaj se operater koristi za dobivanje podsjetnika nakon podjele jedne vrijednosti od druge. Donji redak dijeli vrijednost b varijablom a i ispisuje vrijednost podsjetnika u ćeliji A1.
Sub Test () a = 10 b = 4 Raspon ("A1"). Vrijednost =a Mod b Kraj podm
Ćelija A1 imat će vrijednost 2.
(^) Aritmetička eksponencijalna vrijednost:Ovaj se operater koristi za dobivanje eksponenta jedne vrijednosti na drugu. Donji redovi dobivaju vrijednost 3 za eksponencijal 4.
Sub Test () a = 3 b = 4 Raspon ("A1"). Vrijednost =a^b Kraj podm
Ćelija A1 imat će vrijednost 81 (3x3x3x3).
Ovi operatori u VBA slijede pravilo BODMAS. U VBA postoji samo 6 aritmetičkih operatora. Postoje neki operatori koji djeluju kao dvije vrste operatora poput +. Naučit ćete o njima dok prolazite kroz ovaj vodič.
3. Operatori usporedbe
Kada želimo usporediti dvije vrijednosti u VBA -i, koristimo operatore usporedbe. Rezultat operatora usporedbe uvijek je Booleov. Ako je tvrdnja točna, rezultat je TRUE. Ako je izjava netočna, vrijednost je False. Ovi se operatori često koriste u odlučivanju u VBA -i. Pogledajmo što su:
(=) Jednako:Da, znak = (jednako je) također se koristi kao operator usporedbe u VBA. Kada želimo provjeriti jesu li dvije varijable jednake ili ne, tada koristimo ovaj operator usporedbe.
Podispit () a = 3 b = 4 Ako je a = b onda 'Vratit će lažno MsgBox "A i b su jednaki." 'ovo se neće izvršiti. Inače MsgBox "A i b nisu jednaki" End IF End Sub
U gornjem primjeru koristimo naredbu If i provjeravamo jesu li vrijednosti a i b jednake. Očito nisu. Stoga se ispisuje izjava Else.
To možete provjeriti jednostavnom upotrebom izraza.
a = 3 b = 4 ispravljanje ispisa a = b
Ovo će ispisati False u neposrednom prozoru.
(<) Manje od:Ovo se koristi za provjeru je li lijeva vrijednost manja od desne ili nije.
Pod Test () a = 3 b = 4 Ako je a
U gornjem primjeru provjeravamo je li vrijednost a manja od b. Budući da je to istina, naredba if se izvršava, a Else ne.
To možete provjeriti jednostavnom upotrebom izraza.
a = 3 b = 4 ispravljanje ispisa a<>
Ovo će ispisati True u neposrednom prozoru.
(<=) Manje od ili jednako:Ovo se koristi za provjeru je li lijeva vrijednost manja ili jednaka desnoj vrijednosti ili nije.
Podispit () a = 4 b = 4 Ako je a <= b onda 'Vratit će True MsgBox "A je manje ili jednako b." 'ovo će se izvršiti. Inače MsgBox "A nije jednako ili manje od b." 'ovo se neće izvršiti. Završi AKO Završi pod
U gornjem primjeru provjeravamo je li vrijednost a manja od b. Budući da je to istina, naredba If se izvršava, a Else ne.
To možete provjeriti jednostavnom upotrebom izraza.
a = 4 b = 4 ispravljanje ispisa a <-b
Ovo će ispisati True u neposrednom prozoru.
(>) Više od:Ovo se koristi za provjeru je li lijeva vrijednost veća od desne ili nije.
Podispit () a = 3 b = 4 Ako je a> b, tada će 'vratiti False MsgBox "A je veće od b." 'Ovo se neće izvršiti. Inače MsgBox "A nije veće od b." 'Ovo će se izvršiti. Završi AKO Završi pod
U gornjem primjeru provjeravamo je li vrijednost a veća od b. Budući da je ovo False, if naredba se neće izvršiti, a Else to radi.
To možete provjeriti jednostavnom upotrebom izraza.
a = 3 b = 4 ispravljanje ispisa a> b
Ovo će ispisati False u neposrednom prozoru.
(> =) Više od:Ovo se koristi za provjeru je li lijeva vrijednost veća ili jednaka desnoj vrijednosti ili nije.
Podispit () a = 3 b = 4 Ako je a> = b, tada će 'vratiti False MsgBox "A je veće ili jednako b." 'Ovo se neće izvršiti. Inače MsgBox "A nije veće od ili jednako b." 'Ovo će se izvršiti. Završi ako
U gornjem primjeru provjeravamo je li vrijednost a veća ili jednaka b. Budući da je ovo False, if naredba se neće izvršiti, a Else to radi.
To možete provjeriti jednostavnom upotrebom izraza.
a = 3 b = 4 ispravljanje ispisa a> = b
Ovo će ispisati False u neposrednom prozoru.
() Nije jednako:Ovo se koristi za provjeru nije li lijeva vrijednost jednaka desnoj vrijednosti.
Podispit () a = 3 b = 4 Ako ab onda 'Vratit će True MsgBox "A nije jednako b,"' To će se izvršiti. Inače MsgBox "A i b su jednaki." 'Ovo se neće izvršiti. Završi AKO Završi pod
U gornjem primjeru provjeravamo je li vrijednost a nije jednak b. Budući da je to istina, naredba If će se izvršiti, a Else neće.
To možete provjeriti jednostavnom upotrebom izraza.
a = 3 b = 4 ispravljanje ispisa ab
Ovo će ispisati True u neposrednom prozoru.
Gore navedenih šest operatora nazivamo operatorima usporedbe jer ih koristimo za usporedbu dviju vrijednosti ili varijabli. Često ćete ih koristiti u VBA -u za donošenje odluka u VBA -i.
4. Logički operatori
Logički operatori koriste se za izvođenje logičkih operacija na jednoj ili više varijabli. Rezultat takvih operacija uvijek rezultira TRUE ili FALSE. Logički operatori često (ne uvijek) se koriste za provjeru više od jednog uvjeta.
Ispod su logički operatori koje koristimo u VBA:
VBA I operator (I ili *): Operator VBA AND koristi se kako bi se osiguralo da su uvjeti s njegove lijeve i desne strane istiniti. Ako je bilo koji od uvjeta netočan, cijela će izjava rezultirati lažnom. Za operacije AND koristimo ključnu riječ I ili znak * (zvjezdica).
Provjerite sljedeću izjavu:
Podispit () a = 10 b = 20 Ako je a <15 I b <15 Tada MsgBox "a i b su manji od 15." 'Ovo se ne izvršava. Inače MsgBox "Ili je a ili b veće ili jednako 15." 'Ovo se izvršava. Kraj ako završi pod
Kad pokrenemo gornji isječak, druga naredba if se ne izvršava. Jer prva tvrdnja s lijeve strane je istinita, ali izjava s desne strane je Netočna. Stoga cijela izjava vraća False.
U većini jezika simbol & se koristi kao operator AND, ali ne i u VBA. U VBA -u možete koristiti operator množenja * (zvjezdica) kao operator AND kako biste osigurali da su oba uvjeta istinita.
U gornjem primjeru možete upotrijebiti donju naredbu if da učinite isto.
Ako je (a <15) * (b <15) Tada
Morate koristiti zagrade za odvajanje uvjetnih izraza. U suprotnom će izrazi slijediti pravilo BODMAS i rezultat će biti netočan.
P1: Što će biti rezultat dolje navedene izjave? Javite mi u odjeljku komentara ispod:
ispravljanje ispisa a10 I a = (b/2) I a<>
Kad je vrijednost a 15, a b 30. Zapišite u donji odjeljak komentara.
VBA ILI Operator (Ili ili +): Operator OR koristi se kada želimo osigurati da je uvjet Left TRUE ili da je Right uvjet TRUE. Ako je bilo koji od dva uvjeta istinit, rezultat će biti istinit. Mi koristimo ključnu riječ OR između dva logička izraza. Također možete koristiti znak + (plus) za operaciju ILI. Samo provjerite jeste li pravilno koristili zagrade kako bi izrazi bili jasni dok koristite znak +.
Pregledajte donji kod:
Podispit () a = 10 b = 20 Ako je a <15 Ili b <15 Tada MsgBox "Ili je a ili b manje od 15." 'Ovo se izvršava. Inače MsgBox "Ni a ni b nisu manji od 15." 'Ovo se ne izvršava. Kraj ako završi pod
Kad izvršimo gornji kod, prikazuje se prva poruka, a druga poruka se preskače. Budući da je a manje od 15, a b nije. Potreban je samo jedan uvjet da bude istinit s operatorom ILI da bi izlaz bio istinit.
Izjavu pišete kao:
Ako je (a <15) + (b <15) Tada
P2: Što će biti rezultat dolje navedene izjave? Javite mi u odjeljku komentara ispod:
ispravljanje ispisa a10 Ili a = (b/2) ili a<>
Kad je vrijednost a 10 i b je 5. Zapišite u donji odjeljak komentara.
VBA NOT Operator (Ne): Operator Not koristi se za obrnutu logičku vrijednost. Drugim riječima, izraz s operatorom Not vraća samo True ako je izraz prije njega False. Na primjer, ako prije istinitog izraza koristite ključnu riječ Not, rezultat će biti False i obrnuto. U VBA -i koristimo Ne ključna riječ za provjeru nije li nešto točno ili netočno (?).
Pod test () a = 10 b = 10 Ako nije a = b tada MsgBox "a i b nisu jednaki." Inače MsgBox "a i b su jednaki." 'Ovo se izvršava End If End Sub
U gornjem kodu izjavaNe a = bvratit će se lažno. U početku je a = b točno, ali kako smo prije toga koristili Ne, rezultat je obrnut i izjava se pretvara u Netačno. U gornjem primjeru koristili smo jedine izjave prije njega. Prije Operatora Not možete imati onoliko izjava koliko želite. Samo ih stavite u zagrade.
P3: Što će biti rezultat dolje navedene izjave? Javite mi u odjeljku komentara ispod:
ispravljanje ispisa a10 ili ne (a = (b/2) * a<>
Kad je vrijednost a 10 i b je 5. Zapišite u donji odjeljak komentara.
5. Operatori povezivanja (& ili +)
Ovi se operatori koriste za spajanje nizova. Simbol & koristi se za spajanje tekstova. Preporučuje se operator za spajanje nizova. Međutim, za povezivanje možete koristiti i znak +.
Znak plus povezuje samo dvije varijable kada su obje nizove. Ako bilo koji niz nije string, znak + će raditi kao operator zbrajanja.
Pogledajte donji kod:
Pod test () a = "Exceltip" b = "je broj" c = 1 d = 2 Otklanjanje pogrešaka ispis a & b & c 'ovo će ispisati "Exceltip je broj 1" Otklanjanje pogrešaka ispis a + b & c & d' ovo će ispisati "Exceltip je broj 12 'Otklanjanje pogrešaka. ispis a + b + c' to će biti pogreška. End Sub
U gornjem kodu prva dva retka savršeno će raditi. Treći redak će naići na pogrešku jer pokušavamo dodati tekst s brojevima. Za spajanje brojeva uvijek koristimo & (amp).
Višenamjenski operatori u VBA -i
Kroz gornje primjere morate naučiti da postoji mnogo operatera koji različito rade u različitim situacijama.
Znak + radi kao operator zbrajanja pri radu s brojevima. Dok radite s logičkim vrijednostima, znak plus radi kao operator Ili u VBA -i. Kada se koristi s vrijednostima niza, operator plus radi kao operator povezivanja. Redovi ispod su valjani:
Debug.Print 10 + 20 'ispisuje 30. + radi kao operator zbrajanja. Debug.Print (1020) 'ispisuje True. + radi kao operator Ili. Debug.Print "10" + "20" 'Ispisuje 1020. Znak + radi kao operator povezivanja.
Znak zvjezdice (*) radi kao operator množenja kada su operandi numerički. Kada su operandi logički, zvjezdica radi kao i operator.
Donji redovi koda rade savršeno dobro.
Debug.Print 10 * 20 'ispisuje 200. * radi kao operator množenja. Debug.Print (1020) 'ispisuje False. Znak + radi kao operater And.
Pa da, dečki, ovo je sve o operatorima u VBA -i. Nadam se da je bilo od pomoći. Ako imate bilo kakvih nedoumica u vezi s operaterima u VBA -u, pitajte u odjeljku komentara ispod.
If ElseIf Statement u VBA | In If ElseIf naredba, sljedeći uvjet se provjerava samo kada prethodni uvjet padne. Kada se uvjet podudara, kôd u tom bloku se izvršava i kontrola izlazi iz bloka If.
Excel VBA promjenjivi opseg | VBA također ima specifikatore opsega. Ovi specifikatori opsega mogu se koristiti za postavljanje vidljivosti/opsega varijable u Excelu VBA.
VBA Select Case Statement | Izjave o odabiru slučaja korisne su ako imate previše uvjeta za provjeru. Oni su izvrsna zamjena za više iskaza If ElseIf.
Korištenje petlje u VBA -u u programu Microsoft Excel | Petlje u VBA -i omogućuju nam ponavljanje i ponavljanje sličnog zadatka bez ponavljanja koda. U Excelu VBA postoje 3 vrste petlji.
Argumenti ByRef i ByVal | Kada se argument prenese kao argument ByRef na drugu pod -funkciju ili funkciju, šalje se referenca stvarne varijable. Sve promjene napravljene u kopiji varijable bit će odražene u izvornom argumentu.
Prikažite poruku na statusnoj traci programa Excel VBA Statusna traka u Excelu može se koristiti kao monitor koda. Kad je vaš VBA kôd dugačak i obavite nekoliko zadataka pomoću VBA -a, često onemogućujete ažuriranje zaslona kako ne biste vidjeli kako zaslon treperi
Isključivanje poruka upozorenja pomoću VBA u programu Microsoft Excel 2016 | Ovaj kôd ne samo da onemogućuje VBA upozorenja, već i povećava vremensku učinkovitost koda. Pogledajmo kako.
Popularni članci:
50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.
Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.
COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.
Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.