Hur man använder Select Case Structure i Excel 2016 VBA

Select Case-strukturen är en användbar VBA-struktur för beslut som involverar tre eller fler alternativ i Excel 2016 (även om den också fungerar med två alternativ, vilket ger ett alternativ till If-Then-Else-strukturen).

Ett exempel på Select Case

Följande exempel visar hur du använder strukturen Välj ärende:

Sub ShowRabatt3()
  Dimmängd så lång
  Dimrabatt som dubbel
  Kvantitet = InputBox("Ange kvantitet: ")
  Välj ärendekvantitet
    Fall 0 till 24
      Rabatt = 0,1
    Fall 25 till 49
      Rabatt = 0,15
    Fall 50 till 74
      Rabatt = 0,2
    Fall är >= 75
      Rabatt = 0,25
  Avsluta Välj
  MsgBox "Rabatt: " & rabatt
Avsluta Sub

I det här exemplet utvärderas variabeln Kvantitet. Rutinen kontrollerar fyra olika fall (0–24, 25–49, 50–74 och 75 eller fler).

Valfritt antal uttalanden kan följa varje Case-sats, och de exekveras alla om fallet är sant. Om du bara använder en sats, som i det här exemplet, kan du sätta satsen på samma rad som nyckelordet Case, föregås av ett kolon - VBA-satsavgränsaren. Detta gör koden mer kompakt och lite tydligare. Så här ser rutinen ut i det här formatet:

Sub ShowRabatt4 ()
  Dimmängd så lång
  Dimrabatt som dubbel
  Kvantitet = InputBox("Ange kvantitet: ")
  Välj ärendekvantitet
    Fall 0 till 24: Rabatt = 0,1
    Fall 25 till 49: Rabatt = 0,15
    Fall 50 till 74: Rabatt = 0,2
    Fall är >= 75: Rabatt = 0,25
  Avsluta Välj
  MsgBox "Rabatt: " & rabatt
Avsluta Sub

När VBA kör en Select Case-struktur avslutas strukturen så snart VBA hittar ett sant case och exekverar satserna för det fallet.

Ett inkapslat exempel på Select Case

Som visas i följande exempel kan du kapsla Select Case-strukturer. Denna rutin undersöker den aktiva cellen och visar ett meddelande som beskriver cellens innehåll. Observera att proceduren har tre Select Case-strukturer och var och en har sin egen End Select-sats:

Sub CheckCell()
  Dim Msg As String
  Välj Case IsEmpty (ActiveCell)
    Fall Sant
     Msg = "är tomt."
    Case Else
     Välj Case ActiveCell.HasFormula
       Fall Sant
        Msg = "har en formel"
       Case Else
        Välj Case IsNumeric (ActiveCell)
          Fall Sant
           Msg = "har ett nummer"
          Case Else
           Msg = "har text"
        Avsluta Välj
    Avsluta Välj
  Avsluta Välj
  MsgBox "Cell" & ActiveCell.Address & " " & Msg
Avsluta Sub

Logiken är ungefär så här:

Ta reda på om cellen är tom.

Om den inte är tom, se om den innehåller en formel.

Om det inte finns någon formel, ta reda på om den innehåller ett numeriskt värde eller text.

När rutinen avslutas innehåller Msg-variabeln en sträng som beskriver cellens innehåll. MsgBox-funktionen visar det meddelandet.

Hur man använder Select Case Structure i Excel 2016 VBA

Ett meddelande som visas av CheckCell-proceduren.

Du kan kapsla Select Case-strukturer så djupt du behöver, men se till att varje Select Case-sats har en motsvarande End Select-sats.

Om du fortfarande inte är övertygad om att indragskod är värt ansträngningen, fungerar den tidigare noteringen som ett bra exempel. Fördjupningarna verkligen för att göra häckningsnivåerna tydliga. Ta en titt på samma procedur utan indrag:

Sub CheckCell()
Dim Msg As String
Välj Case IsEmpty (ActiveCell)
Fall Sant
Msg = "är tomt."
Case Else
Välj Case ActiveCell.HasFormula
Fall Sant
Msg = "har en formel"
Case Else
Välj Case IsNumeric (ActiveCell)
Fall Sant
Msg = "har ett nummer"
Case Else
Msg = "har text"
Avsluta Välj
Avsluta Välj
Avsluta Välj
MsgBox "Cell" & ActiveCell.Address & " " & Msg
Avsluta Sub

Ganska obegripligt, eller hur?

Leave a Comment

Hur man använder kommandona Gör om och upprepa i Word 2016

Hur man använder kommandona Gör om och upprepa i Word 2016

Lär dig att använda kommandona Gör om och Upprepa i Word 2016 för att effektivt hantera dina dokument. Dessa funktioner hjälper dig att enkelt ångra och återställa ändringar.

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows Microsoft Word öppnar filer i skrivskyddat läge, vilket gör det omöjligt att redigera dem? Oroa dig inte, metoderna finns nedan

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Så här åtgärdar du fel vid utskrift av felaktiga Microsoft Word-dokument Fel vid utskrift av Word-dokument med ändrade teckensnitt, röriga stycken, saknad text eller förlorat innehåll är ganska vanligt. Men gör det inte

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Om du har använt pennan eller överstrykningspennan för att rita på dina PowerPoint-bilder under en presentation, kan du spara ritningarna till nästa presentation eller radera dem så att nästa gång du visar den börjar du med rena PowerPoint-bilder. Följ dessa instruktioner för att radera ritningar med penna och överstrykningspenna: Radera linjer ett på […]

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteket innehåller CSS-filer, XSL-filer (Extensible Stylesheet Language) och bilder som används av fördefinierade mallsidor, sidlayouter och kontroller i SharePoint 2010. För att hitta CSS-filer i stilbiblioteket på en publiceringswebbplats: Välj Webbplatsåtgärder→Visa Allt webbplatsinnehåll. Innehållet på webbplatsen visas. Style-biblioteket ligger i […]

Formatera siffror i tusentals och miljoner i Excel-rapporter

Formatera siffror i tusentals och miljoner i Excel-rapporter

Överväldiga inte din publik med gigantiska siffror. I Microsoft Excel kan du förbättra läsbarheten för dina instrumentpaneler och rapporter genom att formatera dina siffror så att de visas i tusentals eller miljoner.

Hur man delar och följer SharePoint-webbplatser

Hur man delar och följer SharePoint-webbplatser

Lär dig hur du använder SharePoints sociala nätverksverktyg som låter individer och grupper kommunicera, samarbeta, dela och ansluta.

Hur man konverterar datum till Julian-format i Excel

Hur man konverterar datum till Julian-format i Excel

Julianska datum används ofta i tillverkningsmiljöer som en tidsstämpel och snabbreferens för ett batchnummer. Denna typ av datumkodning tillåter återförsäljare, konsumenter och serviceagenter att identifiera när en produkt tillverkades och därmed produktens ålder. Julianska datum används också i programmering, militären och astronomi. Annorlunda […]

Hur man skapar en Access Web App

Hur man skapar en Access Web App

Du kan skapa en webbapp i Access 2016. Så vad är en webbapp egentligen? Tja, webben betyder att den är online, och appen är bara en förkortning för "applikation". En anpassad webbapp är en onlinedatabasapplikation som nås från molnet med en webbläsare. Du bygger och underhåller webbappen i skrivbordsversionen […]

Snabbstartsfält i SharePoint 2010

Snabbstartsfält i SharePoint 2010

De flesta sidor i SharePoint 2010 visar en lista med navigeringslänkar i snabbstartsfältet till vänster på sidan. Snabbstartsfältet visar länkar till utvalt webbplatsinnehåll som listor, bibliotek, webbplatser och publiceringssidor. Snabbstartsfältet innehåller två mycket viktiga länkar: Länken Allt webbplatsinnehåll: […]