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?

Leave a Comment

Kā pārvietoties Word 2007 tabulā

Kā pārvietoties Word 2007 tabulā

Uzziniet, kā efektīvi pārvietoties Word 2007 tabulā, izmantojot īsinājumtaustiņus un peles darbības, lai optimizētu savu darba plūsmu.

10 Excel funkcijas, kas jums patiešām būtu jāzina

10 Excel funkcijas, kas jums patiešām būtu jāzina

Šajā sarakstā ir iekļautas desmit populārākās Excel funkcijas, kas attiecas uz plašu vajadzību klāstu. Uzziniet, kā izmantot <strong>Excel funkcijas</strong> efektīvāk!

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Uzziniet, kā pievienot papildu analīzes slāņus jūsu Excel diagrammām, lai uzlabotu vizualizāciju un sniegtu precīzākus datus. Šis raksts apraksta visas nepieciešamās darbības.

Kā izveidot rindkopas atkāpi programmā Word 2013

Kā izveidot rindkopas atkāpi programmā Word 2013

Uzziniet, kā iestatīt <strong>rindkopas atkāpi</strong> programmā Word 2013, lai uzlabotu dokumenta noformējumu un lasāmību.

Kā ievietot slejas Word 2010 dokumentā

Kā ievietot slejas Word 2010 dokumentā

Uzziniet, kā pareizi ievietot slejas programmā Word 2010, lai uzlabotu jūsu dokumentu formātu un struktūru.

Šūnu datu aizsardzība programmā Excel 2007

Šūnu datu aizsardzība programmā Excel 2007

Apsveriet iespēju aizsargāt Excel 2007 darblapu, lai izvairītos no neplānotām izmaiņām. Uzziniet, kā aizsargāt un atbloķēt šūnas, lai nodrošinātu datu integritāti.

PMT funkcija programmā Excel 2013

PMT funkcija programmā Excel 2013

Programmas Excel 2013 PMT funkcija aprēķina periodisko mūža rentes maksājumu. Šī funkcija ir būtiska hipotekāro kredītu maksājumu plānošanai.

Kā lietot t-test datu analīzes rīku programmā Excel

Kā lietot t-test datu analīzes rīku programmā Excel

Mācieties, kā veikt t-testus Excel programmā, izmantojot datus un aprakstot trīs t-testu veidus, kas noderēs jūsu datu analīzes procesā.

Kā filtrēt datu sarakstu programmā Excel 2016

Kā filtrēt datu sarakstu programmā Excel 2016

Uzziniet, kā filtrēt datu sarakstu programmā Excel 2016, lai ērti paslēptu nevēlamus ierakstus un strādātu tikai ar nepieciešamajiem datiem.

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Uzziniet, kā vienkārši pievienot datu etiķetes diagrammai programmā Excel 2007. Palīdziet noteikt vērtības, kas tiek rādītas katrā datu punktā, izmantojot dažādas izvietošanas un formatēšanas iespējas.