Izjava naloga je izjava VBA, ki dodeli rezultat izraza na spremenljivko ali predmeta. Excelov sistem pomoči definira izraz izraz kot
»… kombinacija ključnih besed, operatorjev, spremenljivk in konstant, ki daje niz, številko ali predmet. Izraz se lahko uporabi za izračun, manipulacijo znakov ali preskusne podatke."
Velik del vašega dela v VBA vključuje razvoj (in odpravljanje napak) izrazov. Če veste, kako ustvariti formule v Excelu, ne boste imeli težav z ustvarjanjem izrazov. S formulo delovnega lista Excel prikaže rezultat v celici. Po drugi strani pa je izraz VBA mogoče dodeliti spremenljivki.
Primeri izjav o dodelitvi
V naslednjih primerih stavkov dodelitve so izrazi desno od znaka enakosti:
x = 1
x = x + 1
x = (y * 2) / (z * 2)
Hišna cena = 375000
FileOpen = Res
Obseg(»Leto«).Vrednost = 2016
Izrazi so lahko tako zapleteni, kot jih potrebujete; uporabite znak za nadaljevanje vrstice (presledek, ki mu sledi podčrtaj), da olajšate branje dolgih izrazov.
Izrazi pogosto uporabljajo funkcije: vgrajene funkcije VBA, funkcije Excelovega delovnega lista ali funkcije, ki jih razvijete z VBA.
O tem znaku enakosti
Kot lahko vidite v prejšnjem primeru, VBA uporablja znak enakosti kot svoj operator dodelitve. Verjetno ste navajeni uporabljati znak enakosti kot matematični simbol za enakost. Zato lahko izjava o nalogi, kot je naslednja, povzroči, da dvignete obrvi:
z = z + 1
V katerem norem vesolju je z enako samemu sebi plus 1? Odgovor: Vesolje ni znano. V tem primeru stavek dodelitve (ko se izvede) poveča vrednost z za 1. Torej, če je z 12, je z izvajanjem stavka z enak 13. Ne pozabite, da dodelitev uporablja znak enakosti kot operator in ne simbol enakosti.
Gladki operaterji
Operaterji igrajo glavno vlogo v VBA. Poleg operatorja enakega znaka VBA ponuja več operaterjev. Ti bi morali biti znani, ker so isti operatorji, ki se uporabljajo v formulah delovnega lista (razen operaterja Mod).
Funkcija |
Simbol operaterja |
Dodatek |
+ |
Množenje |
* |
divizije |
/ |
Odštevanje |
– |
Eksponentiranje |
^ |
Povezovanje nizov |
& |
Celoštevilsko deljenje (rezultat je vedno celo število) |
|
Modulo aritmetika (vrne preostanek
operacije deljenja ) |
Mod |
Ko pišete Excelovo formulo, izvajate modulo aritmetiko s funkcijo MOD. Na primer, naslednja formula vrne 2 (preostanek, ko 12 delite s 5):
=MOD (12,5)
V VBA se operator Mod uporablja takole (in z ima vrednost 2):
z = 12 Mod 5
Izraz povezovanje je programer, ki govori za »združiti se«. Tako, če združite nize, združite nize, da naredite nov in izboljšan niz.
VBA ponuja tudi celoten nabor logičnih operaterjev. Od teh se najpogosteje uporabljajo Not, And in Or.
Operater |
Kaj počne |
ne |
Izvede logično negacijo na izrazu |
in |
Izvede logično veznico za dva izraza |
ali |
Izvede logično disjunkcijo za dva izraza |
Xor |
Izvede logično izključitev dveh izrazov |
Eqv |
Izvede logično enakovrednost za dva izraza |
Imp |
Izvede logično implikacijo za dva izraza |
Prednostni vrstni red za operaterje v VBA je popolnoma enak kot v Excelovih formulah. Eksponentacija ima najvišjo prednost. Sledita množenje in deljenje, nato pa seštevanje in odštevanje. Z oklepaji lahko spremenite naravni prednostni vrstni red, tako da je vse, kar je v oklepaju, postavljeno pred katerim koli operaterjem. Oglejte si to kodo:
x = 3
y = 2
z = x + 5 * y
Ko se izvede prejšnja koda, kakšna je vrednost z? Če ste odgovorili na 13, boste prejeli zlato zvezdico, ki dokazuje, da razumete koncept prednosti operaterja. Če ste odgovorili na 16, preberite tole: Najprej se izvede operacija množenja (5 * y) in ta rezultat se doda k x.
Mnogi programerji uporabljajo oklepaje, tudi če niso potrebni. Na primer, v resničnem življenju bi lahko zadnjo izjavo o nalogi zapisali takole:
z = x + (5 * y)
Ne bodite sramežljivi pri uporabi oklepajev, tudi če niso obvezni – še posebej, če boste s tem vašo kodo lažje razumeli. VBA je vseeno, če uporabljate dodatne oklepaje.