Kā izmantot gadījuma atlases struktūru programmā Excel 2016 VBA

Struktūra Select Case ir noderīga VBA struktūra lēmumu pieņemšanai, kas ietver trīs vai vairākas opcijas programmā Excel 2016 (lai gan tā darbojas arī ar divām opcijām, nodrošinot alternatīvu struktūrai If-Then-Else).

A Select Case piemērs

Šis piemērs parāda, kā izmantot struktūru Select Case:

Sub ShowDiscount3()
  Dim Daudzums Tik ilgi
  Dim atlaide kā dubultā
  Daudzums = InputBox ("Ievadiet daudzumu: ")
  Atlasiet Lietas daudzums
    Gadījums no 0 līdz 24
      Atlaide = 0,1
    25. līdz 49. lieta
      Atlaide = 0,15
    Lieta no 50 līdz 74
      Atlaide = 0,2
    Gadījums ir >= 75
      Atlaide = 0,25
  Beigu atlase
  MsgBox “Atlaide: “ & Atlaide
Beigu apakš

Šajā piemērā tiek novērtēts mainīgais daudzums. Regulāri tiek pārbaudīti četri dažādi gadījumi (0–24, 25–49, 50–74 un 75 vai vairāk).

Katram Case priekšrakstam var sekot jebkurš priekšrakstu skaits, un tie visi tiek izpildīti, ja gadījums ir patiess. Ja izmantojat tikai vienu priekšrakstu, kā tas ir šajā piemērā, varat ievietot priekšrakstu tajā pašā rindā ar atslēgvārdu Case, pirms tam ievietojot kolu — VBA priekšraksta atdalīšanas rakstzīmi. Tas padara kodu kompaktāku un nedaudz skaidrāku. Lūk, kā rutīna izskatās šajā formātā:

Sub ShowDiscount4 ()
  Dim Daudzums Tik ilgi
  Dim atlaide kā dubultā
  Daudzums = InputBox ("Ievadiet daudzumu: ")
  Atlasiet Lietas daudzums
    Gadījums no 0 līdz 24: atlaide = 0,1
    25. līdz 49. gadījums: atlaide = 0,15
    50. līdz 74. gadījums: atlaide = 0,2
    Gadījums ir >= 75: atlaide = 0,25
  Beigu atlase
  MsgBox “Atlaide: “ & Atlaide
Beigu apakš

Kad VBA izpilda struktūru Select Case, struktūra tiek aizvērta, tiklīdz VBA atrod patiesu gadījumu un izpilda šī gadījuma paziņojumus.

Ligzdots Select Case piemērs

Kā parādīts nākamajā piemērā, varat ligzdot Select Case struktūras. Šī rutīna pārbauda aktīvo šūnu un parāda ziņojumu, kas apraksta šūnas saturu. Ņemiet vērā, ka procedūrai ir trīs Select Case struktūras, un katrai no tām ir savs beigu atlases priekšraksts:

Sub CheckCell()
  Dim Msg As String
  Atlasiet Case IsEmpty (ActiveCell)
    Gadījums True
     Msg = "ir tukšs."
    Cits gadījums
     Atlasiet Case ActiveCell.HasFormula
       Gadījums True
        Msg = "ir formula"
       Cits gadījums
        Atlasiet reģistru IsNumeric (ActiveCell)
          Gadījums True
           Ziņa = "ir numurs"
          Cits gadījums
           Ziņa = "ir teksts"
        Beigu atlase
    Beigu atlase
  Beigu atlase
  MsgBox "Šūna" & ActiveCell.Address & "" & Msg
Beigu apakš

Loģika ir apmēram šāda:

Uzziniet, vai šūna ir tukša.

Ja tas nav tukšs, pārbaudiet, vai tajā ir formula.

Ja formulas nav, noskaidrojiet, vai tā satur skaitlisku vērtību vai tekstu.

Kad rutīna beidzas, mainīgais Msg satur virkni, kas apraksta šūnas saturu. Funkcija MsgBox parāda šo ziņojumu.

Kā izmantot gadījuma atlases struktūru programmā Excel 2016 VBA

Paziņojums, kas tiek parādīts ar CheckCell procedūru.

Varat ligzdot Select Case struktūras tik dziļi, cik nepieciešams, taču pārliecinieties, vai katram priekšrakstam Select Case ir atbilstošs beigu atlases priekšraksts.

Ja joprojām neesat pārliecināts, ka koda atkāpe ir pūļu vērts, iepriekšējais saraksts kalpo kā labs piemērs. Ievilkumi patiešām ir, lai ligzdošanas līmeņi būtu skaidri. Apskatiet to pašu procedūru bez ievilkumiem:

Sub CheckCell()
Dim Msg As String
Atlasiet Case IsEmpty (ActiveCell)
Gadījums True
Msg = "ir tukšs."
Cits gadījums
Atlasiet Case ActiveCell.HasFormula
Gadījums True
Msg = "ir formula"
Cits gadījums
Atlasiet reģistru IsNumeric (ActiveCell)
Gadījums True
Ziņa = "ir numurs"
Cits gadījums
Ziņa = "ir teksts"
Beigu atlase
Beigu atlase
Beigu atlase
MsgBox "Šūna" & ActiveCell.Address & "" & Msg
Beigu apakš

Diezgan nesaprotami, vai ne?


Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows Microsoft Word atver failus tikai lasīšanas režīmā, padarot tos neiespējamu rediģēt? Neuztraucieties, metodes ir norādītas zemāk

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā labot kļūdas, drukājot nepareizus Microsoft Word dokumentus.Kļūdas Word dokumentu drukāšanā ar mainītiem fontiem, nekārtīgām rindkopām, trūkstoša teksta vai pazaudētu saturu ir diezgan izplatītas. Tomēr nevajag

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Ja prezentācijas laikā esat izmantojis pildspalvu vai marķieri, lai zīmētu uz PowerPoint slaidiem, varat saglabāt zīmējumus nākamajai prezentācijai vai izdzēst tos, lai nākamajā reizē, kad to parādīsit, jūs sāktu ar tīriem PowerPoint slaidiem. Izpildiet šos norādījumus, lai dzēstu pildspalvas un marķiera zīmējumus: Līniju dzēšana pa vienai […]

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Stilu bibliotēkā ir CSS faili, paplašināmās stila lapu valodas (XSL) faili un attēli, ko izmanto iepriekš definētas šablona lapas, lapu izkārtojumi un vadīklas programmā SharePoint 2010. Lai atrastu CSS failus publicēšanas vietnes stilu bibliotēkā: izvēlieties Vietnes darbības → Skatīt Viss vietnes saturs. Tiek parādīts vietnes saturs. Stila bibliotēka atrodas […]

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Nepārsedziet savu auditoriju ar milzīgiem skaitļiem. Programmā Microsoft Excel varat uzlabot informācijas paneļu un pārskatu lasāmību, formatējot skaitļus tā, lai tie tiktu rādīti tūkstošos vai miljonos.

Kā koplietot un sekot līdzi SharePoint vietnēm

Kā koplietot un sekot līdzi SharePoint vietnēm

Uzziniet, kā izmantot SharePoints sociālo tīklu rīkus, kas ļauj indivīdiem un grupām sazināties, sadarboties, koplietot un sazināties.

Kā programmā Excel konvertēt datumus Juliana formātos

Kā programmā Excel konvertēt datumus Juliana formātos

Jūlija datumi ražošanas vidēs bieži tiek izmantoti kā laikspiedols un ātra atsauce partijas numuram. Šāda veida datuma kodēšana ļauj mazumtirgotājiem, patērētājiem un pakalpojumu aģentiem noteikt produkta izgatavošanas laiku un līdz ar to arī produkta vecumu. Jūlija datumi tiek izmantoti arī programmēšanā, militārajā jomā un astronomijā. Savādāk […]

Kā izveidot Access Web App

Kā izveidot Access Web App

Programmā Access 2016 varat izveidot tīmekļa lietotni. Kas tad vispār ir tīmekļa lietotne? Tīmeklis nozīmē, ka tas ir tiešsaistē, un lietotne ir tikai “lietojumprogrammas” saīsinājums. Pielāgota tīmekļa lietotne ir tiešsaistes datu bāzes lietojumprogramma, kurai var piekļūt no mākoņa, izmantojot pārlūkprogrammu. Jūs veidojat un uzturat tīmekļa lietotni darbvirsmas versijā […]

Ātrās palaišanas josla programmā SharePoint 2010

Ātrās palaišanas josla programmā SharePoint 2010

Lielākā daļa SharePoint 2010 lapu ātrās palaišanas joslā lapas kreisajā pusē parāda navigācijas saišu sarakstu. Ātrās palaišanas joslā tiek rādītas saites uz piedāvāto vietņu saturu, piemēram, sarakstiem, bibliotēkām, vietnēm un publicēšanas lapām. Ātrās palaišanas joslā ir divas ļoti svarīgas saites: Visa vietnes satura saite: […]

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Vienkāršām problēmām risinātājs programmā Excel parasti ātri atrod optimālās Risinātāja mainīgā vērtības mērķa funkcijai. Taču dažos gadījumos Solver ir grūti atrast Solver mainīgā vērtības, kas optimizē mērķa funkciju. Šādos gadījumos Solver parasti parāda ziņojumu vai kļūdas ziņojumu, kurā aprakstīta vai apspriesta problēma, ko […]