Huis Sociale Media Hoe te gebruiken If-Then in Excel 2016 VBA - dummies

Hoe te gebruiken If-Then in Excel 2016 VBA - dummies

Inhoudsopgave:

Video: 20 Essential Excel Functions with Downloadable Reference Guide 2024

Video: 20 Essential Excel Functions with Downloadable Reference Guide 2024
Anonim

If-Then is de belangrijkste controlestructuur van VBA. U zult deze opdracht waarschijnlijk dagelijks gebruiken. Gebruik de If-Then-structuur wanneer u een of meer instructies voorwaardelijk wilt uitvoeren. Met de optionele Else-component, indien inbegrepen, kunt u een of meer instructies uitvoeren als de voorwaarde die u test niet waar is. Hier is een eenvoudige CheckUser-procedure, opnieuw gecodeerd om de If-Then-Else-structuur te gebruiken:

Sub CheckUser2 () UserName = InputBox ("Voer je naam in:") If UserName = "Satya Nadella" Then MsgBox ("Welcome Satya …") '… [Meer code hier] … Anders MsgBox "Sorry. Alleen Satya Nadella kan dit uitvoeren. "End If End Sub

If-Then examples

De volgende routine demonstreert de If-Then-structuur zonder de optionele Else-clausule:

Sub GreetMe () If Time <0. 5 then MsgBox" Good Morning "End Sub

De GreetMe-procedure gebruikt de VBA-tijdfunctie om de systeemtijd te krijgen. Als de huidige tijd korter is dan. 5 toont de routine een vriendelijke begroeting. Als de tijd groter is dan of gelijk aan. 5, de routine eindigt, en er gebeurt niets.

Om een ​​andere begroeting weer te geven als Tijd groter of gelijk is aan. 5, kunt u na de eerste een andere If-Then-instructie toevoegen:

Sub GreetMe2 () Als tijd = 0. 5 Vervolgens MsgBox "Good Afternoon" End Sub

Merk op dat> = (groter dan of gelijk aan) wordt gebruikt voor de tweede If-Then-instructie. Dit zorgt ervoor dat de hele dag bedekt is. Als> (groter dan) werd gebruikt, zou er geen bericht verschijnen als deze procedure precies om 12.00 uur zou zijn uitgevoerd. Dat is vrij onwaarschijnlijk, maar met een belangrijk programma als dit, wil je geen risico nemen.

Een If-Then-Else-voorbeeld

Een andere benadering van het vorige probleem gebruikt de Else-component. Hier is dezelfde routine gehercodeerd om de If-Then-Else-structuur te gebruiken:

Sub GreetMe3 () Als tijd <0. 5 dan MsgBox "Goedemorgen" Anders _ MsgBox "Goede middag" Einde sub

Merk op dat de lijn vervolg karakter (onderstrepingsteken) wordt gebruikt in het voorgaande voorbeeld. De If-Then-Else-instructie is eigenlijk een enkele verklaring. VBA biedt een enigszins andere manier van coderen If-Then-Else-constructies die een End If-instructie gebruiken. Daarom kan de GreetMe-procedure worden herschreven als

Sub GreetMe4 () Als tijd <0. 5 dan MsgBox "Goedemorgen" Anders MsgBox "Goede namiddag" Einde als eind Sub

In feite kunt u een willekeurig aantal uitspraken invoegen onder de Als deel en een aantal verklaringen onder het Else-onderdeel. Deze syntaxis is gemakkelijker te lezen en maakt de uitspraken korter.

Wat als u de GreetMe-routine moet uitbreiden om drie voorwaarden aan te kunnen: ochtend, middag en avond? U hebt twee opties: gebruik drie If-Then-instructies of gebruik een geneste If-Then-Else-structuur. Nesten betekent het plaatsen van een If-Then-Else-structuur in een andere If-Then-Else-structuur. De eerste benadering, met behulp van drie If-Then-instructies, is eenvoudiger:

Sub GreetMe5 () Dim Msg As String If Time = 0. 5 En Time = 0. 75 Then Msg = "Evening" MsgBox "Good" & Msg End Sub

Er is een nieuwe variant toegevoegd met behulp van een variabele. De variabele Msg krijgt een andere tekstwaarde, afhankelijk van het tijdstip van de dag. De MsgBox-instructie geeft de begroeting weer: Goede morgen, Goede middag of Goede avond.

De volgende routine voert dezelfde actie uit maar gebruikt een If-Then-End If-structuur:

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

Using ElseIf

In de voorgaande voorbeelden wordt elke instructie in de routine uitgevoerd. Een iets efficiëntere structuur zou de routine verlaten zodra een voorwaarde waar blijkt te zijn. In de ochtend zou de procedure bijvoorbeeld de Good Morning-boodschap moeten weergeven en vervolgens afsluiten - zonder de andere overtollige voorwaarden te evalueren.

Met een kleine routine zoals deze hoeft u zich geen zorgen te maken over de uitvoeringssnelheid. Maar voor grotere toepassingen waarin snelheid van cruciaal belang is, moet u weten over een andere syntaxis voor de If-Then-structuur.

Zo kunt u de GreetMe-routine herschrijven met behulp van deze syntaxis:

Sub GreetMe7 () Dim Msg As String Als tijd = 0. 5 En Tijd <0. 75 dan Msg = "Middag" Anders Msg = "Avond "End If MsgBox" Good "& Msg End Sub

Wanneer een voorwaarde waar is, voert VBA de voorwaardelijke instructies uit en eindigt de If-structuur. Met andere woorden, deze procedure is een beetje efficiënter dan de vorige voorbeelden. De wisselwerking is dat de code moeilijker te begrijpen is.

Nog een If-then-voorbeeld

Hier is nog een voorbeeld dat de eenvoudige vorm van de If-Then-structuur gebruikt. Met deze procedure wordt de gebruiker om een ​​hoeveelheid gevraagd en vervolgens wordt de juiste korting weergegeven op basis van de hoeveelheid die de gebruiker invoert:

Sub ShowDiscount () Schaduwhoeveelheid als lange-dimbare korting als dubbele hoeveelheid = invoerbox ("Voer hoeveelheid in:") als hoeveelheid > 0 Dan is Korting = 0. 1 Indien Hoeveelheid> = 25 Dan Korting = 0. 15 Indien Hoeveelheid> = 50 Dan Korting = 0. 2 Indien Hoeveelheid> = 75 Dan Korting = 0. 25 MsgBox "Korting:" & Korting Einde Sub

Merk op dat elke If-Then-instructie in deze routine wordt uitgevoerd en dat de waarde voor Korting kan veranderen naarmate de instructies worden uitgevoerd. De routine geeft uiteindelijk echter de juiste waarde voor Korting weer, omdat de If-Then-instructies in volgorde van oplopende kortingswaarden zijn.

De volgende procedure voert dezelfde taken uit door de alternatieve ElseIf-syntaxis te gebruiken. In dit geval eindigt de routine onmiddellijk na het uitvoeren van de instructies voor een echte voorwaarde:

Sub ShowDiscount2 () Schaduwhoeveelheid als lange-dimbare korting als dubbele hoeveelheid = invoerbox ("Voer hoeveelheid in:") als hoeveelheid> 0 en hoeveelheid <25 dan is korting = 0.1 Anders Als hoeveelheid> = 25 en hoeveelheid <50 dan korting = 0. 15 Anders Als hoeveelheid> = 50 en hoeveelheid <75 dan korting = 0. 2 anders Als hoeveelheid> = 75 Dan korting = 0. 25 einde als MsgBox "korting:" & Discount End Sub

Deze meerdere If-Then-structuren zijn nogal omslachtig. Misschien wilt u de If-Then-structuur alleen gebruiken voor eenvoudige binaire beslissingen.

Hoe te gebruiken If-Then in Excel 2016 VBA - dummies

Bewerkers keuze

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

In Photoshop CS6, u kunt verschillende geometrie-opties voor Rechthoekige vormen selecteren met behulp van het tandwielpictogram op de werkbalk Opties. Hier zijn de geometrie-opties voor de rechthoek en afgeronde rechthoekige vormen. Onbeperkt: wanneer u deze optie selecteert (de standaardinstelling), bepaalt Photoshop de grootte en verhoudingen van de rechthoek terwijl u sleept. Vierkant: selecteer deze knop om ...

Hoe u Tools in Photoshop CS6 selecteert - dummies

Hoe u Tools in Photoshop CS6 selecteert - dummies

Om een ​​hulpmiddel in Photoshop CS6 te selecteren, klikt u er gewoon in het deelvenster Gereedschappen. Een kleine zwarte driehoek in de rechterbenedenhoek van een gereedschapslots geeft aan dat er meer hulpprogramma's zijn verborgen achter dat gereedschap in een vervolgmenu. Klik en houd de gewenste tool ingedrukt om toegang te krijgen tot het vervolgmenu. U hebt ook toegang tot ...

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Terwijl de gewone Lasso-tool in Photoshop CS6 geweldig is voor het selecteren van golvende, ronde elementen, de veelhoekige lasso-tool schittert als het gaat om de meer gereglementeerde, rechtzijdige onderwerpen, zoals skylines van de stad, gebouwen en trappen. In tegenstelling tot het gewone gereedschap Lasso, heeft het gereedschap Polygonale lasso rubberen bandachtige eigenschappen, en in plaats van te slepen, klikt u op ...

Bewerkers keuze

Digitale fotografie en ISO - dummies

Digitale fotografie en ISO - dummies

ISO (internationale organisatie voor standaardisatie) is een instelling op uw digitale camera die de gevoeligheid regelt van je camerasensor. Als je fotografeert op een zonnige dag, heb je veel licht. Daarom kunt u de combinatie van een relatief korte sluitertijd met een relatief klein diafragma gebruiken om de afbeelding goed te belichten. ...

Digitale fototermen - dummies

Digitale fototermen - dummies

Ga op je gemak met je digitale camera door enkele digitale fotografie-lingo's en tips te leren die je kunnen helpen met verlichting , portretten en scherptediepte, zodat u uit bent en fantastische digitale foto's maakt. ISO: de gevoeligheid van de camera voor licht. Door de ISO-waarde te verhogen, kunt u foto's maken bij weinig licht zonder gebruik te maken van ...

Digitale fotobeheertaken - dummies

Digitale fotobeheertaken - dummies

Maak u bekend met de volgende taken voor digitale fotobeheer of investeer in een bepaald stuk software om doe ze voor jou. Bedenk hoe deze taken in uw workflow voor digitale fotografie passen: markeren biedt u de mogelijkheid enkele foto's te markeren als bewaarder, sommige als afgekeurd en de rest alleen te laten. Eerst markeren, omdat het sneller gaat ...

Bewerkers keuze

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Het is altijd goed wanneer u kunt mensen helpen een formulier in te vullen dat u in Excel 2011 voor Mac hebt gemaakt. Eén manier is om het moeilijker te maken voor hen om fouten te maken bij het invullen van het formulier. Door gegevensvalidatie bijvoorbeeld in Excel 2011 voor Mac te gebruiken, kunt u ervoor zorgen dat ...

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Excel 2011 voor Mac heeft fantastische mogelijkheden voor datum- en tijdberekening. Wanneer u Excel-werkbladen gebruikt, moet u slechts twee geheimen kennen: elke dag wordt weergegeven door een geheel getal, een serienummer genoemd, en delen van dagen worden vertegenwoordigd door decimale breuken. Vandaag vinden met Excel-formules Op sommige dagen word je wakker en niet ...

Tips en trucs voor Excel 2008 voor Mac - dummies

Tips en trucs voor Excel 2008 voor Mac - dummies

Hoe blijf je de baas over spreadsheets in Excel 2008 voor Mac? Gebruik deze snelle stappen voor uw meest voorkomende activiteiten. Een werkblad hernoemen Dubbelklik op een bladentabblad om de naam te wijzigen. Cellen bewerken Dubbelklik op een cel om de celformule of celinhoud op het werkblad te bewerken. File timesaver Sla uw bestanden op als Excel ...