Innholdsfortegnelse:
Video: Slik bruker du kart og kompass 2024
En oppgaveoppgave er en VBA-setning som tilordner resultatet av et uttrykk til en variabel eller en gjenstand. Excels hjelpesystem definerer uttrykket uttrykk som
"… en kombinasjon av søkeord, operatorer, variabler og konstanter som gir en streng, tall eller objekt. Et uttrykk kan brukes til å utføre en beregning, manipulere tegn eller teste data. "
Mye av arbeidet ditt i VBA innebærer å utvikle (og feilsøking) uttrykk. Hvis du vet hvordan du oppretter formler i Excel, har du ingen problemer med å skape uttrykk. Med et regnearkformel viser Excel resultatet i en celle. Et VBA-uttrykk, derimot, kan tilordnes en variabel.
Eksempler på oppgaveeksempel
I eksemplene på oppdragseksempler som følger, er uttrykkene til høyre for likestegnet:
x = 1 x = x + 1 x = (y * 2) / (z * 2) HouseCost = 375000 FileOpen = True Range ("TheYear"). Verdi = 2016
Uttrykk kan være like komplisert som du trenger dem til å være; bruk linjens fortsettelse karakter (et mellomrom etterfulgt av et understreke) for å gjøre lengre uttrykk lettere å lese.
Ofte bruker uttrykksfunksjoner: VBAs innebygde funksjoner, Excels regnearkfunksjoner eller funksjoner du utvikler med VBA.
Om det samme tegnet
Som du kan se i det foregående eksemplet, bruker VBA likestedet som sin oppdragsoperatør. Du er sannsynligvis vant til å bruke et likestegn som et matematisk symbol for likestilling. Derfor kan en oppgaveoppgave som følgende føre til at du øker øyenbrynene:
z = z + 1
I hvilket gal univers er z lik med seg selv pluss 1? Svar: Ingen kjent univers. I dette tilfellet øker oppgaveoppgaven (når den utføres) verdien av z med 1. Så hvis z er 12, gjør utførelsen setningen z lik 13. Bare husk at et oppdrag bruker likestegnet som operatør, ikke et symbol av likestilling.
Glatte operatører
Operatører spiller store roller i VBA. Foruten likestedsoperatøren tilbyr VBA flere operatører. Disse bør være kjent for deg fordi de er de samme operatørene som brukes i regnearksformler (unntatt Mod-operatøren).
Funksjon | Operatorsymbol |
---|---|
Tillegg | + |
Multiplikasjon | * |
Divisjon | / |
Subtraksjon | - |
Eksponering | ^ < Stringkonsentrasjon |
& | Integer divisjon (resultatet er alltid et heltall) |
Modulo aritmetikk (returnerer resten av en divisjon | |
-operasjon)
Mod |
Når du skriver en Excel-formel, du gjør modulo aritmetikk ved å bruke MOD-funksjonen.For eksempel returnerer følgende formel 2 (resten når du deler 12 med 5): |
= MOD (12, 5)
I VBA brukes Mod-operatøren som denne (og z har en verdi på 2):
z = 12 Mod 5
Begrepet
sammenkobling er programmerer snakkes for "bli sammen. "Hvis du sammenkaster strenger, kombinerer du strenger for å lage en ny og forbedret streng. VBA gir også et komplett sett med logiske operatører. Av disse, ikke, og, og eller er oftest brukt.
Operatør
Hva det gjør | Ikke |
---|---|
Utfører en logisk negasjon på et uttrykk | Og |
Utfører en logisk sammenheng på to uttrykk | Eller |
Utfører en logisk disjunksjon på to uttrykk | Xor |
Utfører en logisk ekskludering på to uttrykk | Eqv |
Utfører en logisk ekvivalens på to uttrykk | Imp |
Utfører en logisk implikasjon på to uttrykk | Forrangsordren for operatører i VBA er akkurat det samme som i Excel-formler. Eksponering har høyest prioritet. Multiplikasjon og divisjon kommer neste, etterfulgt av tillegg og subtraksjon. Du kan bruke parenteser til å endre den naturlige forrangsordenen, noe som gjør det som er smurt i parentes, kommer før en operatør. Ta en titt på denne koden: |
x = 3 y = 2 z = x + 5 * y
Når den forrige koden er utført, hva er verdien av z? Hvis du svarte 13, får du en gullstjerne som viser at du forstår begrepet operatørens forrang. Hvis du svarte 16, les dette: Multiplikasjonsoperasjonen (5 * y) utføres først, og resultatet blir lagt til x.
Mange programmerere har en tendens til å bruke parenteser selv når de ikke er påkrevd. For eksempel, i det virkelige livet, kan den siste oppgavestyrelsen skrives slik:
z = x + (5 * y)
Ikke vær sjenert om å bruke parenteser selv om de ikke er påkrevd - spesielt hvis du gjør slik at koden din blir enklere å forstå. VBA bryr seg ikke om du bruker ekstra parenteser.