Hem Sociala medier Hur man använder If-Then i Excel 2016 VBA-dummies

Hur man använder If-Then i Excel 2016 VBA-dummies

Innehållsförteckning:

Video: IF-formeln i Excel (OM-formeln på svenska) 2024

Video: IF-formeln i Excel (OM-formeln på svenska) 2024
Anonim

Om så är VBA: s viktigaste kontrollstruktur. Du brukar använda det här kommandot varje dag. Använd strukturen If-Then när du vill utföra en eller flera uttalanden villkorligt. Den alternativa Else-klausulen, om den ingår, låter dig utföra en eller flera uttalanden om det villkor du testar är inte sant. Här är en enkel CheckUser-procedur, omkodad för att använda If-Then-Else-strukturen:

Sub CheckUser2 () UserName = InputBox ("Ange ditt namn:") Om UserName = "Satya Nadella" Då MsgBox ("Välkommen Satya …") "… [Mer kod här] … Else MsgBox "Förlåt. Endast Satya Nadella kan köra detta. "End If End Sub"

If-Then Examples

Följande rutin visar If-Then-strukturen utan valfri Else-klausul:

Sub GreetMe () Om Time <0. 5 sedan MsgBox "Good Morning" End Sub

GreetMe-proceduren använder VBA: s Time-funktion för att få systemtiden. Om den aktuella tiden är mindre än. 5 visar rutinen en vänlig hälsning. Om tiden är större än eller lika med. 5, rutin slutar, och ingenting händer.

För att visa en annan hälsning om tiden är större än eller lika med. 5, kan du lägga till ett annat If-Then-meddelande efter det första:

Sub GreetMe2 () Om Time = 0. 5 Sedan MsgBox "Good Afternoon" End Sub

Observera att> = (större än eller lika med) används för den andra If-Then-satsen. Detta säkerställer att hela dagen är täckt. Hade> (större än) använts, skulle inget meddelande visas om denna procedur utfördes vid precis 12.00 klockan 12.00. Det är ganska osannolikt, men med ett viktigt program som detta vill du inte ta några chanser.

Ett If-Then-Else-exempel

Ett annat tillvägagångssätt till det föregående problemet använder Else-klausulen. Här är samma rutin som omkodas för att använda If-Then-Else-strukturen:

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

Observera att linjen fortsättningskaraktär (understrykning) används i föregående exempel. If-Then-Else-uttalandet är faktiskt ett enda uttalande. VBA tillhandahåller ett något annorlunda sätt att koda If-Then-Else-konstruktioner som använder ett End If-uttalande. Därför kan GreetMe-proceduren skrivas om som

Sub GreetMe4 () Om Time <0. 5 sedan MsgBox "Good Morning" Else MsgBox "Good Afternoon" slutet Om End Sub

Faktum är att du kan infoga ett antal uttalanden under Om del och eventuellt antal uttalanden under Else delen. Denna syntax är lättare att läsa och gör uttalanden kortare.

Vad händer om du behöver expandera GreetMe rutinen för att hantera tre villkor: morgon, eftermiddag och kväll? Du har två alternativ: Använd tre If-Then-uttalanden eller använd en kapad If-Then-Else-struktur. Nesting betyder att placera en If-Then-Else-struktur inom en annan If-Then-Else-struktur. Det första tillvägagångssättet, med hjälp av tre If-Then-satser, är enklare:

Sub GreetMe5 () Dim Msg As String Om Time = 0. 5 And Time = 0. 75 Sedan Msg = "Evening" MsgBox "Good" & Msg End Sub

En ny vridning tillsattes med hjälp av en variabel. Msg-variabeln får ett annat textvärde beroende på tid på dagen. MsgBox-satsen visar hälsningen: God morgon, god eftermiddag eller god kväll.

Följande rutin utför samma åtgärd men använder en If-Then-End If-struktur:

Sub GreetMe6 () Dim Msg As String Om Time = 0. 5 And Time = 0. 75 Then Msg = "Evening" Avsluta om MsgBox "Good" & Msg End Sub

Använda ElseIf

I de tidigare exemplen exekveras alla uttalanden i rutinen. En något mer effektiv struktur skulle gå ut ur rutinen så snart ett tillstånd har visat sig vara sant. På morgonen, till exempel, bör proceduren visa god morgonmeddelande och sedan avsluta - utan att utvärdera de övriga överflödiga villkoren.

Med en liten rutin så här behöver du inte oroa dig för körhastigheten. Men för större tillämpningar där hastigheten är kritisk bör du veta om en annan syntax för If-Then-strukturen.

Så här kan du skriva om GreetMe-rutinen genom att använda den här syntaxen:

Sub GreetMe7 () Dim Msg As String Om Time = 0. 5 And Time <0. 75 Msg = "Afternoon" Else Msg = "Evening "Sluta om MsgBox" Bra "& Msg avsluta del

När ett villkor är sant utför VBA de villkorliga utsagnen och If-strukturen slutar. Med andra ord är detta förfarande lite effektivare än tidigare exempel. Avvägningen är att koden är svårare att förstå.

Ett annat If-Then example

Här är ett annat exempel som använder den enkla formen av If-Then-strukturen. Denna procedur uppmanar användaren för en mängd och visar sedan lämplig rabatt, baserat på den mängd användaren anger:

Sub ShowDiscount () Dimma Antal Så lång Dim Dimension Som Dubbel Mängd = InputBox ("Ange Mängd:") Om Mängd > 0 Då Rabatt = 0. 1 Om Kvantitet> = 25 Då Rabatt = 0. 15 Om Kvantitet> = 50 Då Rabatt = 0. 2 Om Kvantitet> = 75 Då Rabatt = 0. 25 MsgBox "Rabatt:" & Rabatt Slut Del

Observera att varje If-Then-uttalande i den här rutinen exekveras, och värdet för Rabatt kan ändras när uttalandena exekveras. Rutinen visar emellertid slutligen det korrekta värdet för rabatt eftersom if-then-satsen är i ordning med stigande rabattvärden.

Följande procedur utför samma uppgifter genom att använda den alternativa ElseIf-syntaxen. I det här fallet avslutas rutinen direkt efter att ha genomfört deklarationerna för ett sant tillstånd:

Sub ShowDiscount2 () Dimma Antal Långt Dim Rabatt Som Dubbel Mängd = InputBox ("Ange Mängd:") Om Mängd> 0 Och Mängd <25 sedan rabatt = 0.1 ElseIf Antal> = 25 Och Antal <50 Då Rabatt = 0. 15 ElseIf Antal> = 50 Och Antal <75 Då Rabatt = 0. 2 ElseIf Antal> = 75 Då Rabatt = 0. 25 Avsluta Om MsgBox "Rabatt:" & Rabatt End Sub

Dessa multipla If-Then strukturer är ganska besvärliga. Du kanske vill använda strukturen If-Then bara för enkla binära beslut.

Hur man använder If-Then i Excel 2016 VBA-dummies

Redaktörens val

Namnge dina webbsidor för bättre SEO resultat - dummies

Namnge dina webbsidor för bättre SEO resultat - dummies

Hur du heter Filerna på din webbplats är viktiga. En sökmotor tittar på filnamnet som en indikation på vad som finns i filen, och så måste du använda rätt nyckelord samt tecken som spindlar kan läsa. Till exempel, istället för att namnge din bild av en röd Ford Mustang som ...

Optimera en målsida genom att felsöka folddummorna

Optimera en målsida genom att felsöka folddummorna

En nyckelstrategi för målsides optimering är för att hålla kritiskt innehåll ovanför veckan. I landningssidans optimeringslingo betyder ovanför vikten att viktigt innehåll visas på första skärmen så tittarna ser det omedelbart. Annars måste de gå under veckan genom att rulla ner till nästa skärm. Håll dig över folden ...

Smal ner din sökordslista för bättre sökmotorresultat (SEO) - dummies

Smal ner din sökordslista för bättre sökmotorresultat (SEO) - dummies

För att få de bästa resultaten från sökmotorerna behöver du först utveckla en bra lång lista med potentiella sökord som kan användas på din webbplats. När du har brainstorm och forskning för att komma med den här listan är nästa steg att begränsa det till de nyckelord som är mest relevanta och effektiva för ...

Redaktörens val

5 Gratis SketchUp Online Resources - dummies

5 Gratis SketchUp Online Resources - dummies

Följande är fem gratis källor till SketchUp-hjälp. Alla dessa resurser kräver att du har en Internetanslutning, så se till att din dator är online innan du försöker någon av dessa. SketchUp-utbildningsresurser: SketchUp publicerar förstklassiga material direkt på sin webbplats: Videotutorials: När SketchUp lanserades år 2000 blev det ...

Hur man lägger till detaljer i din SketchUp Terräng med trianglar - dummies

Hur man lägger till detaljer i din SketchUp Terräng med trianglar - dummies

Som Flip Edge-verktyget, Lägg till detaljeringsverktyget i SketchUp är typ av en one-trick pony. Använd den för att lägga till trianglar till områden på din terrängyta som behöver mer detaljer. På så sätt kan du spara geometri (och filstorlek och vänta) genom att ha många ansikten bara inom områdena på din terräng ...

5 Roliga sätt att använda SketchUps push / dragverktyg - dummies

5 Roliga sätt att använda SketchUps push / dragverktyg - dummies

Push / pull är verktyget som de flesta människor tänker på när de tänker på SketchUp. Faktum är att de personer som uppfann denna programvara (tillbaka i det senaste årtusendet) började med tanken för Push / Pull - det är så nära länkat SketchUp och Push / Pull. Om du vill veta lite mer om SketchUps mest framstående verktyg, ...

Redaktörens val

Nätverksadministration: programhantering - dummies

Nätverksadministration: programhantering - dummies

En viktig uppgift för vilken nätverksadministratör som hanterar olika bitar och programstycken som används av dina användare i hela nätverket. De flesta, om inte alla, av dina nätverksanvändare kommer att ha en version av Microsoft Office installerad på sina datorer. Beroende på vilken typ av verksamhet, kan annan programvara vara stor ...

Nätverksadministration: SharePoint Page Creation - dummies

Nätverksadministration: SharePoint Page Creation - dummies

Standardwebbplatsen består av flera standardsidor, inklusive ett dokumentbibliotek , kalender och ett diskussionsforum. Du kan lägga till sidor på din SharePoint-webbplats för att anpassa den efter behov. Till exempel har många SharePoint-webbplatser mer än ett dokumentbibliotek för att lagra olika typer av dokument. Om du vill skapa en ny SharePoint-sida klickar du på ...

Nätverksadministration: Programuppdateringar - dummies

Nätverksadministration: Programuppdateringar - dummies

En av de irritationer som varje nätverksansvarig möter använder programvaruplattor för att hålla operativsystem och annan programvara uppdaterad. En mjukvarupatch är en mindre uppdatering som åtgärdar de små glitches som uppstår från tid till annan, till exempel mindre säkerhets- eller prestationsproblem. Dessa glitches är inte tillräckligt stora ...