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) 2025

Video: IF-formeln i Excel (OM-formeln på svenska) 2025
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

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...