Hjem Social Media Hvordan man bruger If-Then i Excel 2016 VBA-dummies

Hvordan man bruger If-Then i Excel 2016 VBA-dummies

Indholdsfortegnelse:

Video: Excel - Hvordan aktivere problemløseren 2024

Video: Excel - Hvordan aktivere problemløseren 2024
Anonim

Hvis-da er VBAs vigtigste kontrolstruktur. Du vil sandsynligvis bruge denne kommando dagligt. Brug If-Then-strukturen, når du vil udføre et eller flere udsagn betinget. Den valgfrie Else-klausul, hvis inkluderet, giver dig mulighed for at udføre et eller flere udsagn, hvis tilstanden du tester er ikke sand. Her er en simpel CheckUser-procedure, genkodet til at bruge If-Then-Else-strukturen:

Sub CheckUser2 () UserName = InputBox ("Indtast dit navn:") Hvis UserName = "Satya Nadella" Så MsgBox ("Velkommen Satya …") '… [Mere kode her] … Else MsgBox "Undskyld. Kun Satya Nadella kan køre dette. "End If End Sub

Hvis-Så eksempler

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

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

GreetMe-proceduren bruger VBAs Time-funktion til at få systemtiden. Hvis den aktuelle tid er mindre end. 5 viser rutinen en venlig hilsen. Hvis tiden er større end eller lig med. 5, rutinen slutter, og der sker ikke noget.

For at vise en anden hilsen, hvis Tiden er større end eller lig med. 5, kan du tilføje en anden If-Then-sætning efter den første:

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

Bemærk at> = (større end eller lig med) bruges til den anden If-Then-sætning. Dette sikrer, at hele dagen er dækket. Havde> (større end) været brugt, ville der ikke vises nogen besked, hvis denne procedure blev udført kl. 12.00. Det er temmelig usandsynligt, men med et vigtigt program som dette, vil du ikke tage nogen chancer.

Et eksempel på eksempelvis

En anden tilgang til det foregående problem anvender Else-klausulen. Her er den samme rutine omkodet til at bruge If-Then-Else-strukturen:

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

Bemærk at linjen fortsættelse karakter (understregning) anvendes i det foregående eksempel. If-Then-Else erklæringen er faktisk en enkelt erklæring. VBA giver en lidt anden måde at kode If-Then-Else konstruktioner, der bruger en End If-sætning. Derfor kan GreetMe-proceduren omskrives som

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

Faktisk kan du indsætte et hvilket som helst antal udsagn under Hvis en del og et hvilket som helst antal erklæringer under Else-delen. Denne syntaks er lettere at læse og gør udsagnene kortere.Hvad skal du gøre hvis du skal udvide GreetMe-rutinen til at håndtere tre betingelser: morgen, eftermiddag og aften? Du har to muligheder: Brug tre If-Then-sætninger eller brug en

indlejret If-Then-Else-struktur. Nesting betyder at placere en If-Then-Else-struktur inden for en anden If-Then-Else-struktur. Den første tilgang, der bruger tre If-Then-sætninger, er enklere: Sub GreetMe5 () Dim Msg As String Hvis Time = 0. 5 Og Time = 0. 75 Then Msg = "Evening" MsgBox "Good" & Msg End Sub

Et nyt twist blev tilføjet med brug af en variabel. Msg-variablen får en anden tekstværdi afhængigt af tidspunktet på dagen. MsgBox-sætningen viser hilsen: God morgen, god eftermiddag eller god aften.

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

Sub GreetMe6 () Dim Msg Som String Hvis Time = 0. 5 Og Time = 0. 75 Then Msg = "Evening" Afslut, hvis MsgBox "God" & Msg End Sub

Brug af ElseIf

I de foregående eksempler udføres hver sætning i rutinen. En lidt mere effektiv struktur ville forlade rutinen, så snart en tilstand er fundet sand. Om morgenen bør proceduren f.eks. Vise godmorgen besked og derefter afslutte - uden at vurdere de øvrige overflødige forhold.

Med en lille rutine som denne, behøver du ikke bekymre dig om eksekveringshastigheden. Men for større applikationer, hvor hastigheden er kritisk, bør du vide om en anden syntaks for If-Then-strukturen.

Her kan du omskrive GreetMe-rutinen ved at bruge denne syntaks:

Sub GreetMe7 () Dim Msg As String Hvis Time = 0. 5 Og Time <0. 75 Then Msg = "Afternoon" Else Msg = "Evening "Afslut Hvis MsgBox" God "& Msg Slut Sub

Når en betingelse er sand, udfører VBA de betingede udsagn, og If-strukturen slutter. Med andre ord er denne procedure lidt mere effektiv end de tidligere eksempler. Afvejningen er, at koden er vanskeligere at forstå.

Et andet Hvis-da eksempel

Her er et andet eksempel, der bruger den enkle form for If-Then-strukturen. Denne procedure beder brugeren om en mængde og viser derefter den passende rabat baseret på den mængde brugeren indtaster:

Sub ShowDiscount () Dim Mængde Så Lang Dim Rabat Som Dobbelt Mængde = InputBox ("Indtast Mængde:") Hvis Mængde > 0 Så Rabat = 0. 1 Hvis Mængde> = 25 Så Rabat = 0. 15 Hvis Mængde> = 50 Så Rabat = 0. 2 Hvis Mængde> = 75 Så Rabat = 0. 25 MsgBox "Rabat:" & Rabat Slut Del

Bemærk, at hver If-Then-sætning i denne rutine udføres, og værdien for Rabat kan ændres, når udsagnene udføres. Rutinen viser dog i sidste ende den korrekte værdi for Rabat, fordi If-Then-sætningerne er i rækkefølge af stigende rabatværdier.

Følgende procedure udfører de samme opgaver ved at bruge den alternative ElseIf-syntaks. I dette tilfælde slutter rutinen umiddelbart efter at erklæringerne er udført for en sand tilstand:

Sub ShowDiscount2 () Dim Antal Som Lang Dim Rabat Som Dobbelt Mængde = InputBox ("Indtast Mængde:") Hvis Mængde> 0 Og Mængde <25 derefter rabat = 0.1 ElseIf Antal> = 25 Og Mængde <50 derefter Rabat = 0. 15 ElseIf Antal> = 50 Og Mængde <75 Så Rabat = 0. 2 ElseIf Antal> = 75 Så Rabat = 0. 25 Afslut Hvis MsgBox "Rabat:" & Discount End Sub

Disse flere If-Then strukturer er ret besværlige. Du kan muligvis bruge If-Then-strukturen kun til enkle binære beslutninger.
Hvordan man bruger If-Then i Excel 2016 VBA-dummies

Valg af editor

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Aftaler du har sat op til arbejde i Outlook 2013 Kalender kræver ofte, at du indeholder lidt mere information, end du ville have brug for til dine personlige aftaler. Når du vil give en aftale den fulde behandling, skal du bruge følgende metode:

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

De aftaler og møder, du sender i Outlook, er knyttet til Outlook. com, så fra enhver web-aktiveret enhed kan du se, hvor du skal være og med hvem. Nu ved du, hvornår du er tilgængelig til møder, frokoster og tilfældige tungevæsker. Hvis du vil have dine Outlook 2013-data og din Outlook. com data til synkronisering automatisk, ...

Sådan flagger du en kontakt i Outlook 2013 - dummies

Sådan flagger du en kontakt i Outlook 2013 - dummies

Nogle gange har du brug for Outlook 2013 for at minde dig om vigtig datoer eller opfølgningsaktiviteter. Du kan f.eks. Bruge flag, for at minde dig om at ringe til nogen næste uge. Den bedste måde at hjælpe dig med at huske på er at markere personens navn i listen Kontaktpersoner. En påmindelse vil dukke op i din kalender. Kontakterne er ikke ...

Valg af editor

LinkedIn Group Kategorier - dummies

LinkedIn Group Kategorier - dummies

Fordi der er mange grunde til at oprette en gruppe, giver LinkedIn dig muligheder for at kategorisere din gruppe for at give dig mest eksponering. LinkedIn har etableret følgende seks hovedkategorier af grupper: Alumni: Disse grupper er alumniforeninger skabt af skoler eller lærerinstitutioner som et middel til at holde kontakten med fortiden ...

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

Der kommer nok en tid du har brug for dine LinkedIn kontakter for at hjælpe dig på andre arenaer, hvis du vil lykkes i din jobsøgning. For det første skal du generere din eksporterede fil af kontakter fra LinkedIn. Det gør du ved at følge disse trin:

LinkedIn For Dummies Cheat Sheet - dummies

LinkedIn For Dummies Cheat Sheet - dummies

Tilmelding til LinkedIn betyder, at du er en del af det største online faglige netværk i verden. Se her for nyttige retningslinjer for brug af LinkedIn, især når du søger job. LinkedIn hjælper dig med at oprette og vedligeholde en online profil, du kan bruge til at opbygge et professionelt netværk.

Valg af editor

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Hvis du har en god Ny ide til en app, der vil køre på Windows Phone 7, start med at downloade de gratis Windows Phone Developer Tools fra Microsofts websted. Processen tager et kig på, hvad du har på din pc, før det begynder at downloade - hvis du allerede har en bedre version ...

Hvorfor udvikle til Android? - dummies

Hvorfor udvikle til Android? - dummies

Det virkelige spørgsmål er, "Hvorfor ikke udvikle til Android? "Hvis du vil have din app tilgængelig for millioner af brugere over hele verden, eller hvis du vil offentliggøre apps, så snart du er færdig med at skrive og teste dem, eller hvis du kan lide at udvikle på en åben platform, har du dit svar. Men hvis du er ...

Arbejder med objektgrafer i storyboarding - dummies

Arbejder med objektgrafer i storyboarding - dummies

Du kan bruge storyboarding til at starte din iOS-applikationsudvikling i Xcode4. Når du opretter dit storyboard, opretter du en objektgraf, der derefter arkiveres, når du gemmer filen. Når du indlæser filen, er objektgrafen unarchived. Så hvad er en objekgraf? Her er det korte svar: Objektorienterede programmer er lavet ...