Hjem Sosiale medier Hvordan bruke If-Then i Excel 2016 VBA-dummies

Hvordan bruke If-Then i Excel 2016 VBA-dummies

Innholdsfortegnelse:

Video: Excel på norsk: Loddtrekning 2024

Video: Excel på norsk: Loddtrekning 2024
Anonim

Hvis-da er VBAs viktigste kontrollstruktur. Du vil nok bruke denne kommandoen daglig. Bruk If-Then-strukturen når du vil utføre en eller flere setninger betinget. Den valgfrie Else-klausulen, hvis inkludert, lar deg utføre en eller flere setninger hvis tilstanden du tester er ikke sann. Her er en enkel CheckUser-prosedyre, omkodet for å bruke If-Then-Else-strukturen:

SubCheckUser2 () UserName = InputBox ("Skriv inn navnet ditt") Hvis UserName = "Satya Nadella" Så MsgBox ("Welcome Satya …") '… [Mer kode her] … Else MsgBox "Beklager. Bare Satya Nadella kan kjøre dette. "End If End Sub

Hvis-Da Eksempler

Følgende rutine demonstrerer If-Then-strukturen uten valgfri Else-klausul:

Sub GreetMe () Hvis Time <0. 5 da MsgBox" Good Morning "End Sub

GreetMe-prosedyren bruker VBAs Time-funksjon for å få systemtiden. Hvis den nåværende tiden er mindre enn. 5, viser rutinen en vennlig hilsen. Hvis tiden er større enn eller lik. 5, rutinen slutter, og ingenting skjer.

For å vise en annen hilsen hvis tiden er større enn eller lik. 5, kan du legge til en annen If-Then-setning etter den første:

Sub GreetMe2 () Hvis Time = 0. 5 Da MsgBox "Good Afternoon" End Sub

Legg merke til at> = (større enn eller lik) brukes til den andre If-Then-setningen. Dette sikrer at hele dagen er dekket. Hadde> (større enn) blitt brukt, ville ingen melding oppstå hvis denne prosedyren ble utført kl. 12.00. Det er ganske lite sannsynlig, men med et viktig program som dette, vil du ikke ta noen sjanser.

Et eksempel hvis det er tilfelle

En annen tilnærming til det foregående problemet bruker Else-klausulen. Her er den samme rutinen omkodet for å bruke If-Then-Else-strukturen:

Sub GreetMe3 () Hvis Time <0. 5 da MsgBox "Good Morning" Else _ MsgBox "Good Afternoon" End Sub

Legg merke til at linjen fortsettelse karakter (understrek) brukes i foregående eksempel. If-Then-Else-erklæringen er faktisk en enkelt setning. VBA gir en litt annen måte å kode If-Then-Else konstruksjoner som bruker en End If-setning. Derfor kan GreetMe-prosedyren omskrives som

Sub GreetMe4 () Hvis Time <0. 5 deretter MsgBox "Good Morning" Else MsgBox "Good Afternoon" End Hvis End Sub

Faktisk kan du sette inn et hvilket som helst antall setninger under Hvis en del og et hvilket som helst antall erklæringer under Else-delen. Denne syntaksen er enklere å lese og gjør uttalelsene kortere.

Hva om du trenger å utvide GreetMe-rutinen for å håndtere tre forhold: morgen, ettermiddag og kveld? Du har to alternativer: Bruk tre If-Then-setninger eller bruk en nestet If-Then-Else-struktur. Nesting betyr å sette en If-Then-Else-struktur i en annen If-Then-Else-struktur. Den første tilnærmingen, med tre If-Then-setninger, er enklere:

Sub GreetMe5 () Dim Msg som streng hvis tid = 0. 5 og tid = 0. 75 deretter Msg = "Evening" MsgBox "Good" & Msg End Sub

En ny vri ble lagt til ved bruk av en variabel. Msg-variabelen får en annen tekstverdi, avhengig av tidspunktet på dagen. MsgBox-setningen viser hilsen: God morgen, god ettermiddag eller god kveld.

Følgende rutine utfører samme handling, men bruker en If-Then-End Hvis struktur:

Sub GreetMe6 () Dim Msg som streng hvis tid = 0. 5 og tid = 0. 75 deretter Msg = "Evening" Slutt hvis MsgBox "Good" og Msg End Sub

Bruke ElseIf

I de tidligere eksemplene blir alle setninger i rutinen utført. En litt mer effektiv struktur ville gå ut av rutinen så snart en tilstand er funnet å være sann. I morgen, for eksempel, bør prosedyren vise god morgenmeldingen og deretter avslutte - uten å vurdere de andre overflødige forholdene.

Med en liten rutine som dette, trenger du ikke å bekymre deg for eksekveringshastigheten. Men for større applikasjoner der hastigheten er kritisk, bør du vite om en annen syntaks for If-Then-strukturen.

Her kan du omskrive GreetMe-rutinen ved å bruke denne syntaksen:

Sub GreetMe7 () Dim Msg som streng hvis tid = 0. 5 og tid <0. 75 da Msg = "Ettermiddag" Else Msg = "Kveld "Slutt hvis MsgBox" God "og Msg sluttdel

Når en tilstand er sant, utfører VBA de betingede setningene, og If-strukturen avsluttes. Med andre ord, denne prosedyren er litt mer effektiv enn de tidligere eksemplene. Avviket er at koden er vanskeligere å forstå.

Et annet eksempel hvis

Her er et annet eksempel som bruker den enkle form for If-Then-strukturen. Denne prosedyren ber brukeren om en mengde og viser deretter den aktuelle rabatten, basert på mengden brukeren kommer inn i:

Sub ShowDiscount () Dim mengde så lang dim rabatt som dobbelt mengde = InputBox ("Enter Quantity:") > 0 Så Rabat = 0. 1 Hvis Mengde> = 25 Så Rabat = 0. 15 Hvis Mengde> = 50 Så Rabat = 0. 2 Hvis Mengde> = 75 Så Rabat = 0. 25 MsgBox "Rabat:" & Rabatt End Sub

Legg merke til at hver If-Then-setning i denne rutinen blir utført, og verdien for Rabatt kan endres etter hvert som uttalelsene blir utført. Rutinen viser imidlertid til slutt den riktige verdien for rabatt fordi If-Then-setningene er i rekkefølge av stigende rabattverdier.

Følgende prosedyre utfører de samme oppgavene ved å bruke den alternative ElseIf-syntaksen. I dette tilfellet slutter rutinen umiddelbart etter at setningene er utført for en ekte tilstand:

Sub ShowDiscount2 () Dim mengde så lang dim rabatt som dobbelt mengde = InputBox ("Enter Quantity:") Hvis antall> 0 og antall <25 deretter rabatt = 0.1 ElseIf Antall> = 25 Og Antall <50 Så Rabatt = 0. 15 ElseIf Antall> = 50 Og Antall <75 Så Rabatt = 0. 2 ElseIf Antall> = 75 Så Rabatt = 0. 25 End Hvis MsgBox "Rabatt:" & Rabatt End Sub

Disse flere If-Then strukturer er ganske besværlig. Du vil kanskje bruke If-Then-strukturen bare for enkle binære beslutninger.

Hvordan bruke If-Then i Excel 2016 VBA-dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...