Hvernig á að nota If-Then í Excel 2016 VBA

Ef-Þá er mikilvægasta stjórnskipulag VBA. Þú munt líklega nota þessa skipun daglega. Notaðu Ef-Þá skipulagið þegar þú vilt framkvæma eina eða fleiri setningar með skilyrðum. Valfrjálsa Else-ákvæðið, ef það er innifalið, gerir þér kleift að framkvæma eina eða fleiri fullyrðingar ef ástandið sem þú ert að prófa er ekki satt. Hér er einföld CheckUser aðferð, endurkóðuð til að nota If-Then-Else uppbyggingu:

Undir CheckNotandi2()
  UserName = InputBox(“Sláðu inn nafnið þitt: “)
  Ef notandanafn = "Satya Nadella" Þá
    MsgBox ("Velkomin Satya ...")
' …[Meira kóða hér] …
  Annar
    MsgBox „Því miður. Aðeins Satya Nadella getur stjórnað þessu."
  End If
End Sub

Ef-Þá dæmi

Eftirfarandi venja sýnir If-Then uppbygginguna án valkvæða annars ákvæðisins:

Sub GreetMe()
  Ef tími < 0,5 þá er MsgBox „Góðan daginn“
End Sub

GreetMe aðferðin notar tímaaðgerð VBA til að fá kerfistímann. Ef núverandi tími er minna en 0,5 birtir venjan vinsamlega kveðju. Ef Tími er stærri en eða jafnt og 0,5, þá lýkur venjan og ekkert gerist.

Til að birta aðra kveðju ef Tími er stærri en eða jafnt og 0,5 geturðu bætt við annarri Ef-Þá setningu á eftir þeirri fyrstu:

Sub GreetMe2()
  Ef tími < 0,5 þá er MsgBox „Góðan daginn“
  Ef Tími >= 0,5 Þá MsgBox „Góðan daginn“
End Sub

Taktu eftir að >= (stærri en eða jafnt og) er notað fyrir seinni If-Then setninguna. Þetta tryggir að allan daginn sé lokið. Hefði > (stærra en) verið notað, myndu engin skilaboð birtast ef þetta ferli væri framkvæmt nákvæmlega klukkan 12:00 á hádegi. Það er frekar ólíklegt, en með mikilvægu prógrammi eins og þessu vilt þú ekki taka neina áhættu.

Ef-þá-annað dæmi

Önnur nálgun á vandamálið á undan notar Else ákvæðið. Hér er sama venja endurkóðuð til að nota If-Then-Else uppbyggingu:

Sub GreetMe3()
  Ef Tími < 0,5 Þá MsgBox „Góðan daginn“ Else _
    MsgBox „Góðan daginn“
End Sub

Taktu eftir að línuframhaldsstafurinn (undirstrik) er notaður í dæminu á undan. Ef-þá-annað staðhæfingin er í raun ein fullyrðing. VBA býður upp á aðeins aðra leið til að kóða If-Then-Else smíðar sem nota End If setningu. Þess vegna er hægt að endurskrifa GreetMe málsmeðferðina sem

Sub GreetMe4()
  Ef Tími < 0,5 Þá
    MsgBox „Góðan daginn“
  Annar
    MsgBox „Góðan daginn“
  End If
End Sub

Reyndar geturðu sett inn hvaða fjölda staðhæfinga sem er undir Ef hlutanum og hvaða fjölda staðhæfinga sem er undir Else hlutanum. Þessi setningafræði er auðveldari að lesa og gerir staðhæfingarnar styttri.

Hvað ef þú þarft að auka GreetMe venjuna til að takast á við þrjú skilyrði: morgun, síðdegi og kvöld? Þú hefur tvo valkosti: Notaðu þrjár If-Then staðhæfingar eða notaðu hreiðraða If-Þá-Else uppbyggingu. Hreiður þýðir að setja Ef-Þá-Anna mannvirki innan annars Ef-Þá-annar mannvirki. Fyrsta aðferðin, með því að nota þrjár Ef-Þá staðhæfingar, er einfaldari:

Sub GreetMe5()
 Dimm skilaboð sem strengur
 Ef tími < 0,5 þá er Msg = "Morning"
 Ef Tími >= 0,5 Og Tími < 0,75 Þá Msg = "Síðdegi"
 Ef Tími >= 0,75 Þá Msg = „Kvöld“
 MsgBox „Góð“ & Msg
End Sub

Nýjum snúningi var bætt við með notkun breytu. Msg breytan fær annað textagildi, allt eftir tíma dags. MsgBox yfirlýsingin sýnir kveðjuna: Góðan daginn, góðan daginn eða gott kvöld.

Eftirfarandi venja framkvæmir sömu aðgerð en notar If-Then-End If uppbyggingu:

Sub GreetMe6()
  Dimm skilaboð sem strengur
  Ef Tími < 0,5 Þá
    Msg = "Morgun"
  End If
  Ef Tími >= 0,5 Og Tími < 0,75 Þá
    Msg = "Síðdegi"
  End If
  Ef Tími >= 0,75 Þá
    Msg = "Kvöld"
  End If
  MsgBox „Góð“ & Msg
End Sub

Að nota ElseIf

Í fyrri dæmunum er sérhver setning í venjunni keyrð. Örlítið skilvirkara mannvirki myndi hætta í venjunni um leið og ástandið reynist vera satt. Á morgnana, til dæmis, ætti aðferðin að birta Góðan daginn skilaboðin og hætta síðan — án þess að meta önnur óþarfa skilyrði.

Með pínulítilli rútínu eins og þessari þarftu ekki að hafa áhyggjur af framkvæmdarhraða. En fyrir stærri forrit þar sem hraði er mikilvægur, ættir þú að vita um aðra setningafræði fyrir If-Then uppbyggingu.

Svona geturðu endurskrifað GreetMe rútínuna með því að nota þessa setningafræði:

Sub GreetMe7()
 Dimm skilaboð sem strengur
 Ef Tími < 0,5 Þá
   Msg = "Morgun"
 ElseIf Time >= 0,5 Og Time < 0,75 Þá
   Msg = "Síðdegi"
 Annar
   Msg = "Kvöld"
 End If
 MsgBox „Góð“ & Msg
End Sub

Þegar skilyrði er satt, keyrir VBA skilyrtu setningarnar og If byggingin endar. Með öðrum orðum, þessi aðferð er aðeins skilvirkari en fyrri dæmin. Málið er að það er erfiðara að skilja kóðann.

Annað Ef-Þá dæmi

Hér er annað dæmi sem notar einfalda form Ef-Þá uppbyggingu. Þessi aðferð biður notandann um magn og sýnir síðan viðeigandi afslátt, byggt á því magni sem notandinn slær inn:

Sub ShowDiscount()
  Dimmt magn eins lengi
  Dimm afsláttur sem tvöfaldur
  Magn = InputBox(“Sláðu inn magn:”)
  Ef Magn > 0 Þá Afsláttur = 0,1
  Ef Magn >= 25 Þá Afsláttur = 0,15
  Ef Magn >= 50 Þá Afsláttur = 0,2
  Ef Magn >= 75 Þá Afsláttur = 0,25
  MsgBox “Afsláttur: “ & Afsláttur
End Sub

Taktu eftir að hver Ef-Þá setning í þessari venju er keyrð og gildið fyrir afslátt getur breyst eftir því sem yfirlýsingarnar eru keyrðar. Hins vegar sýnir venjan að lokum rétt gildi fyrir afslátt vegna þess að Ef-Þá yfirlýsingarnar eru í röð hækkandi afsláttargilda.

Eftirfarandi aðferð framkvæmir sömu verkefnin með því að nota aðra ElseIf setningafræði. Í þessu tilviki lýkur venjan strax eftir að yfirlýsingarnar eru framkvæmdar fyrir satt ástand:

Undirsýningafsláttur2()
 Dimmt magn eins lengi
 Dimm afsláttur sem tvöfaldur
 Magn = InputBox(“Sláðu inn magn: “)
 Ef Magn > 0 Og Magn < 25 Þá
  Afsláttur = 0,1
 ElseIf Magn >= 25 Og Magn < 50 Þá
  Afsláttur = 0,15
 ElseIf Magn >= 50 Og Magn < 75 Þá
  Afsláttur = 0,2
 ElseIf Magn >= 75 Þá
  Afsláttur = 0,25
 End If
 MsgBox “Afsláttur: “ & Afsláttur
End Sub

Þessi margvíslegu Ef-Þá mannvirki eru frekar fyrirferðarmikil. Þú gætir viljað nota Ef-Þá uppbyggingu aðeins fyrir einfaldar tvíundar ákvarðanir.

Leave a Comment

Námundun tölur í Excel 2007 með ROUND, ROUNDUP og ROUNDDOWN

Námundun tölur í Excel 2007 með ROUND, ROUNDUP og ROUNDDOWN

Fyrir þá sem vilja læra um aðferðir eins og <strong>ROUND</strong>, <strong>ROUNDUP</strong> og <strong>ROUNDDOWN</strong> í Excel 2007, skoðaðu þessa skref-fyrir-skref leiðbeiningu um hvernig á að rúnna tölur á réttan hátt.

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarinn ham á Windows

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarinn ham á Windows

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarandi ham á Windows. Microsoft Word opnar skrár í skrifvarandi ham, sem gerir það ómögulegt að breyta þeim? Ekki hafa áhyggjur, aðferðirnar eru hér að neðan

Hvernig á að laga ranga prentun á Microsoft Word skjölum

Hvernig á að laga ranga prentun á Microsoft Word skjölum

Hvernig á að laga villur við prentun á röngum Microsoft Word skjölum Villur við prentun Word skjala með breyttu letri, sóðalegar málsgreinar, texta sem vantar eða glatað efni eru nokkuð algengar. Hins vegar ekki

Eyddu penna- og auðkennisteikningum á PowerPoint-skyggnunum þínum

Eyddu penna- og auðkennisteikningum á PowerPoint-skyggnunum þínum

Ef þú hefur notað pennann eða hápunktarann ​​til að teikna á PowerPoint glærurnar þínar meðan á kynningu stendur geturðu vistað teikningarnar fyrir næstu kynningu eða eytt þeim út svo næst þegar þú sýnir þær byrjarðu á hreinum PowerPoint glærum. Fylgdu þessum leiðbeiningum til að eyða penna- og auðkenningarteikningum: Að eyða línum einni á […]

Innihald stílasafns í SharePoint 2010

Innihald stílasafns í SharePoint 2010

Stílsafnið inniheldur CSS skrár, Extensible Stylesheet Language (XSL) skrár og myndir sem notaðar eru af fyrirfram skilgreindum aðalsíðum, síðuuppsetningum og stjórntækjum í SharePoint 2010. Til að finna CSS skrár í stílasafni útgáfusíðunnar: Veldu Site Actions→ View Allt efni á síðunni. Innihald síðunnar birtist. Style bókasafnið er staðsett í […]

Snið tölur í þúsundum og milljónum í Excel skýrslum

Snið tölur í þúsundum og milljónum í Excel skýrslum

Ekki yfirgnæfa áhorfendur með stórkostlegum tölum. Í Microsoft Excel geturðu bætt læsileika mælaborða og skýrslna með því að forsníða tölurnar þínar þannig að þær birtast í þúsundum eða milljónum.

Hvernig á að deila og fylgja SharePoint síðum

Hvernig á að deila og fylgja SharePoint síðum

Lærðu hvernig á að nota SharePoints samfélagsnetverkfæri sem gera einstaklingum og hópum kleift að eiga samskipti, vinna saman, deila og tengjast.

Hvernig á að umbreyta dagsetningum í Julian snið í Excel

Hvernig á að umbreyta dagsetningum í Julian snið í Excel

Julian dagsetningar eru oft notaðar í framleiðsluumhverfi sem tímastimpill og fljótleg tilvísun fyrir lotunúmer. Þessi tegund af dagsetningarkóðun gerir söluaðilum, neytendum og þjónustuaðilum kleift að bera kennsl á hvenær vara var framleidd og þar með aldur vörunnar. Julian dagsetningar eru einnig notaðar í forritun, hernum og stjörnufræði. Mismunandi […]

Hvernig á að búa til Access Web App

Hvernig á að búa til Access Web App

Þú getur búið til vefforrit í Access 2016. Svo hvað er vefforrit eiginlega? Jæja, vefurinn þýðir að hann er á netinu og app er bara stytting fyrir „umsókn“. Sérsniðið vefforrit er gagnagrunnsforrit á netinu sem hægt er að nálgast úr skýinu með vafra. Þú smíðar og viðheldur vefforritinu í skrifborðsútgáfunni […]

Quick Launch Bar í SharePoint 2010

Quick Launch Bar í SharePoint 2010

Flestar síður í SharePoint 2010 sýna lista yfir flakktengla á flýtiræsingarstikunni vinstra megin á síðunni. Flýtiræsingarstikan sýnir tengla á innihaldsefni vefsvæða eins og lista, bókasöfn, síður og útgáfusíður. Flýtiræsingarstikan inniheldur tvo mjög mikilvæga tengla: Tengill á allt efni vefsvæðis: […]