Sådan bruger du den valgte sagsstruktur i Excel 2016 VBA

Select Case-strukturen er en nyttig VBA-struktur til beslutninger, der involverer tre eller flere muligheder i Excel 2016 (selvom den også fungerer med to muligheder, hvilket giver et alternativ til If-Then-Else-strukturen).

Et eksempel på Select Case

Følgende eksempel viser, hvordan du bruger strukturen Vælg sag:

Sub ShowRabat3()
  Dim mængde så længe
  Dim Rabat Som Dobbelt
  Antal = InputBox("Indtast antal: ")
  Vælg Sagsmængde
    Case 0 til 24
      Rabat = 0,1
    Sag 25 til 49
      Rabat = 0,15
    Sag 50 til 74
      Rabat = 0,2
    Sagen er >= 75
      Rabat = 0,25
  Afslut Vælg
  MsgBox “Rabat: “ & Rabat
Slut Sub

I dette eksempel evalueres mængdevariablen. Rutinen kontrollerer for fire forskellige tilfælde (0–24, 25–49, 50–74 og 75 eller derover).

Et hvilket som helst antal udsagn kan følge hver sagsudsagn, og de udføres alle, hvis sagen er sand. Hvis du kun bruger én sætning, som i dette eksempel, kan du placere sætningen på samme linje som Case-nøgleordet, efterfulgt af et kolon - VBA-sætningsseparatortegnet. Dette gør koden mere kompakt og en smule tydeligere. Sådan ser rutinen ud i dette format:

Sub ShowRabat4 ()
  Dim mængde så længe
  Dim Rabat Som Dobbelt
  Antal = InputBox("Indtast antal: ")
  Vælg Sagsmængde
    Tilfælde 0 til 24: Rabat = 0,1
    Case 25 til 49: Rabat = 0,15
    Tilfælde 50 til 74: Rabat = 0,2
    Case Er >= 75: Rabat = 0,25
  Afslut Vælg
  MsgBox “Rabat: “ & Rabat
Slut Sub

Når VBA udfører en Select Case-struktur, afsluttes strukturen, så snart VBA finder en sand sag og udfører sætningerne for den sag.

Et indlejret Select Case-eksempel

Som vist i det følgende eksempel kan du indlejre Select Case-strukturer. Denne rutine undersøger den aktive celle og viser en meddelelse, der beskriver cellens indhold. Bemærk, at proceduren har tre Select Case-strukturer, og hver har sin egen End Select-sætning:

Sub CheckCell()
  Dæmp besked som streng
  Vælg sagen er tom (ActiveCell)
    Sagen Sandt
     Msg = "er tom."
    Tilfældet Andet
     Vælg Case ActiveCell.HasFormula
       Sagen Sandt
        Msg = "har en formel"
       Tilfældet Andet
        Vælg Case IsNumeric (ActiveCell)
          Sagen Sandt
           Msg = "har et nummer"
          Tilfældet Andet
           Msg = "har tekst"
        Afslut Vælg
    Afslut Vælg
  Afslut Vælg
  MsgBox “Cell “ & ActiveCell.Address & “ “ & Msg
Slut Sub

Logikken lyder sådan her:

Find ud af, om cellen er tom.

Hvis den ikke er tom, skal du se, om den indeholder en formel.

Hvis der ikke er nogen formel, skal du finde ud af, om den indeholder en numerisk værdi eller tekst.

Når rutinen slutter, indeholder Msg-variablen en streng, der beskriver cellens indhold. MsgBox-funktionen viser denne meddelelse.

Sådan bruger du den valgte sagsstruktur i Excel 2016 VBA

En meddelelse, der vises af CheckCell-proceduren.

Du kan indlejre Select Case-strukturer så dybt, som du har brug for det, men sørg for, at hver Select Case-sætning har en tilsvarende End Select-sætning.

Hvis du stadig ikke er overbevist om, at indrykning af kode er besværet værd, tjener den forrige liste som et godt eksempel. Fordybningerne virkelig for at gøre redeniveauerne tydelige. Tag et kig på den samme procedure uden nogen indrykning:

Sub CheckCell()
Dæmp besked som streng
Vælg sagen er tom (ActiveCell)
Sagen Sandt
Msg = "er tom."
Tilfældet Andet
Vælg Case ActiveCell.HasFormula
Sagen Sandt
Msg = "har en formel"
Tilfældet Andet
Vælg Case IsNumeric (ActiveCell)
Sagen Sandt
Msg = "har et nummer"
Tilfældet Andet
Msg = "har tekst"
Afslut Vælg
Afslut Vælg
Afslut Vælg
MsgBox “Cell “ & ActiveCell.Address & “ “ & Msg
Slut Sub

Ret uforståeligt, ikke?


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]