Indholdsfortegnelse:
Video: Brug hjertestarter - sådan bruges en hjertestarter. 2024
En tildelingserklæring er en VBA-sætning, som tildeler resultatet af et udtryk til en variabel eller en genstand. Excel's Help system definerer udtrykket udtryk som
"… en kombination af søgeord, operatører, variabler og konstanter, der giver en streng, et tal eller et objekt. Et udtryk kan bruges til at udføre en beregning, manipulere tegn eller teste data. "
Meget af dit arbejde i VBA indebærer udvikling (og debugging) udtryk. Hvis du ved, hvordan du opretter formler i Excel, har du ingen problemer med at skabe udtryk. Med et regnearksformular viser Excel resultatet i en celle. Et VBA-udtryk kan derimod tildeles en variabel.
Eksempler på eksekveringsopgørelser
I eksemplerne på tildelingsopgørelsen følger eksemplerne til højre for ligesignalet:
x = 1 x = x + 1 x = (y * 2) / (z * 2) HouseCost = 375000 FileOpen = True Range ("TheYear"). Værdi = 2016
Udtryk kan være så kompleks som du har brug for dem til at være; brug linjens fortsættelse karakter (et mellemrum efterfulgt af en understregning) for at gøre lange udtryk lettere at læse.
Ofte bruger udtrykfunktioner: VBA's indbyggede funktioner, Excels regnearkfunktioner eller funktioner, som du udvikler med VBA.
Om det samme tegn
Som du kan se i det foregående eksempel bruger VBA ligestegnet som tildelingsoperatør. Du er nok vant til at bruge et lighedstegn som et matematisk symbol for ligestilling. Derfor kan en opgørelseserklæring som følgende medføre, at du øger dine øjenbryn:
z = z + 1
I hvilket galde univers er z lig med sig selv plus 1? Svar: Intet kendt univers. I dette tilfælde øges opgavestedet (når den udføres) til værdien af z med 1. Så hvis z er 12, gør udførelsen sætningen z den samme. 13. Husk blot, at en opgave bruger ligesignalet som operatør, ikke et symbol af lighed.
Glatte operatører
Operatører spiller store roller i VBA. Udover ligestillingsoperatøren tilbyder VBA flere operatører. Disse bør være kendte for dig, fordi de er de samme operatører, der bruges i regnearksformler (undtagen Mod-operatøren).
Funktion | Operatorsymbol |
---|---|
Tilføjelse | + |
Multiplikation | * |
Division | / |
Subtraktion | - |
Eksponering | ^ < Stringkompatering |
& | Integer division (resultatet er altid et helt tal) |
Modul aritmetik (returnerer resten af en division | |
operation)
Mod |
Når du skriver en Excel-formel, du gør modulo aritmetik ved at bruge MOD-funktionen.For eksempel returnerer følgende formel 2 (resten når du deler 12 med 5): |
= MOD (12, 5)
I VBA bruges Mod-operatøren som denne (og z har en værdi på 2):
z = 12 Mod 5
Udtrykket
sammenkædning er programmør tale for "sammenføjning. "Hvis du sammenkæder strenge, kombinerer du strings for at skabe en ny og forbedret streng. VBA giver også et komplet sæt af logiske operatører. Af disse, Ikke, Og, og Eller bruges hyppigst.
Operator
Udfører en logisk negation på et udtryk | Og |
---|---|
Udfører en logisk sammenhæng på to udtryk | Eller |
Udfører en logisk disjunction på to udtryk | Xor |
Udfører en logisk udelukkelse på to udtryk | Eqv |
Udfører en logisk ækvivalens på to udtryk | Imp |
Udfører en logisk implikation på to udtryk | Forrangsordren for operatører i VBA er nøjagtig det samme som i Excel formler. Eksponering har den højeste prioritet. Multiplikation og division kommer næste, efterfulgt af addition og subtraktion. Du kan bruge parenteser til at ændre den naturlige prioritets rækkefølge, hvilket gør alt, hvad der er anbragt i parentes, før enhver operatør. Se koden på denne kode: |
x = 3 y = 2 z = x + 5 * y | Når den foregående kode udføres, hvad er værdien af z? Hvis du besvarede 13, får du en guldstjerne, der viser, at du forstår begrebet aktørforrang. Hvis du svarede 16, skal du læse følgende: Multiplikationsoperationen (5 * y) udføres først, og resultatet tilføjes til x. |
Mange programmerere har tendens til at bruge parenteser, selvom de ikke er påkrævet. Eksempelvis kan i det virkelige liv den sidste opgaveopgørelse skrives som denne:
z = x + (5 * y)
Vær ikke genert ved at bruge parenteser, selvom de ikke kræves - især hvis du gør så gør din kode lettere at forstå. VBA er ligeglad med, hvis du bruger ekstra parenteser.