Acest articol va arăta cum să utilizați instrucțiunea VBA Switch.
Instrucțiunea VBA Switch este utilizată într-un mod similar cu instrucțiunea VBA Select Case.
Sintaxa declarației Switch
Instrucțiunea switch evaluează o listă de expresii pentru a vedea dacă sunt adevărate sau false și returnează valoarea primelor expresii care sunt evaluate ca fiind adevărate. Lista argumentelor este alcătuită din perechi - o expresie și o valoare care este returnată dacă expresia este evaluată ca fiind adevărată.
Intrerupator(expr-1, valoare-1, [ expr-2, valoare-2… , [ expr-n, valoare-n ]])
Utilizarea instrucțiunii Switch într-o procedură VBA
A folosi acest lucru într-o macrocomandă ar putea fi similar cu acest exemplu de mai jos:
1234567 | Sub TestSwitch ()Dim strCompany As StringDim CompanyID ca întregID companie = 2strCompany = Switch (CompanyID = 1, "Apple", CompanyID = 2, "IBM", CompanyID = 3, "Samsung")MsgBox strCompaniesSfârșitul Sub |
Declarăm o variabilă întreagă pentru a reține valorile din expresiile din instrucțiunea switch. Declarăm apoi o altă variabilă șir pentru a returna valoarea conținută în expresia respectivă.
Utilizarea declarației de comutare cu un interval
În loc să codificăm în cod valoarea pe care comutatorul o va evalua în cod, putem folosi o valoare pe care am stocat-o într-o celulă Excel pentru a returna șirul necesar.
1234567 | Sub TestSwitch ()Dim strCompany As StringDim CompanyID ca întregCompanyID = Range („A2”)strCompany = Switch (CompanyID = 1, "Apple", CompanyID = 2, "IBM", CompanyID = 3, "Samsung")MsgBox strCompaniesSfârșitul Sub |
Pentru a utiliza această procedură, ar trebui să avem un număr în celula A2 din foaia de lucru. Putem apoi rula macro-ul pentru a obține numele companiei (adică Samsung).
Dacă nu avem un număr în celula A3 și rulăm codul, va fi returnată o eroare de nepotrivire de tip.
Crearea unei funcții personalizate cu comutatorul VBA
De asemenea, putem crea o funcție personalizată utilizând comutatorul VBA și să o folosim în registrul nostru de lucru.
123 | Function SwitchStatement (i Integer) As StringSwitchStatement = Switch (i = 1, „Apple”, i = 2, „IBM”, i = 3, „Samsung”)Funcția de sfârșit |
Pentru a utiliza acest lucru în registrul nostru de lucru, putem utiliza caseta de dialog Inserare funcție.
Faceți clic în celula A3 și apoi faceți clic pe Insert Function în bara de funcții.
Din caseta de dialog Insert Function, selectați Definit de utilizator de la Selectați lista verticală Categorie, apoi selectați SwitchStatement.
Clic BINE, și apoi faceți clic pe celulă A2.
Numele companiei, așa cum este stocat în Declarația de comutare, va fi returnat în foaia noastră de lucru.