Când are sens să folosești opțiunea explicită - Sfaturi Excel

Cuprins

Se pare că am provocat o oarecare neliniște de-a lungul anilor din cauza poziției mele controversate conform cărora Option Explicit nu este util în VBA. Mi s-a amintit de acest lucru recent când am făcut o sesiune Skype la Excel Weekend din Brazilia. Am scris o carte despre Excel VBA pentru QUE. Cartea respectivă a fost tradusă în portugheză pentru piața din Brazilia. Deci, se pare, am învățat oamenii buni din Brazilia despre Excel VBA timp de 15 ani. Acum, că am 15 ani mai în vârstă și mai înțelept, voi recunoaște că ar putea exista motive întemeiate să folosesc Option Explicit.

La Notre Dame, am urmat cursuri de afaceri cu o concentrare mare în programare. Printr-un set ciudat de circumstanțe, am urmat fiecare curs de programare disponibil la ND atât de la școlile de inginerie, cât și de la cele de afaceri. Am învățat pe Fortran, Pascal, Assembler și COBOL. Mi-a plăcut programarea. Aceste cursuri de programare mi-au salvat GPA și m-au împiedicat să fiu aruncat. Pe vremuri, profesorii noștri ne-au spus că trebuie să ne planificăm programul și să desenăm organigramele înainte de a începe codarea. Eram rebel. Aș scrie mai întâi programul și apoi desenez diagrama după ce am terminat.

Am petrecut primele 18 luni din carieră scriind programe COBOL. Dar apoi m-am transferat la finanțe și am petrecut zece ani lucrând în finanțe și contabilitate. Făceam în mare parte o activitate de contabilitate, dar când aveam nevoie să scriu ceva cod, știam suficient cât să scriu ceva.

Am programat macro-uri în Lotus 1-2-3 și apoi am început să scriu Macro-uri VBA după ce am trecut la Excel în 1995. Eram încă rebel în acel moment: declararea variabilelor mele din timp părea prea mult ca desenarea unei diagrame înainte de a scrie codul. Nu sunt niciodată unul care să planifice în avans. Scufundați-vă. Începeți codarea. Dacă aveți nevoie de o nouă variabilă undeva pe parcurs, creați pur și simplu variabila.

Am fost un rebel, scriind codul mai întâi și desenând diagrama de flux mai târziu. Declararea variabilelor, am susținut, este pentru programatorii formali. Dacă lucrați în contabilitate și pur și simplu eliminați 20 de linii de cod, nu există niciun motiv să vă declarați variabilele din timp.

Poziția mea în acest sens m-a adus în câteva argumente prietenoase cu alți experți Excel. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

În primul rând, întotdeauna v-am recomandat să vă declarați variabilele de obiect. În codul de mai jos, WSD este declarat ca foaie de lucru și atribuit utilizând comanda Set. Dacă declarați variabila obiect, puteți răsfoi toate proprietățile și metodele tastând variabila urmată de un punct.

Declararea variabilelor obiect duce la această completare automată utilă

Dacă nu utilizați opțiunea explicită, riscați să faceți greșeli de ortografie. În codul de mai jos, este creată o variabilă numită FinalRow. În următoarea linie, probabil că am vrut să fac o buclă de la 2 la FinalRow, dar am scris greșit variabila ca Fina1Row.

Cu câteva decenii în urmă, scriitorii de scriere IBM Selectric au omis tasta 1, deoarece oamenii ar tasta o minusculă L în schimb.

Fără Option Explicit, este posibil ca cineva să nu-și dea seama că greșeala este acolo. Variabila FinalRow poate conține 100. Dar codul din buclă nu se va executa deoarece variabila Fina1Row nu a fost inițializată niciodată și va conține un zero.

Pentru a preveni frustrarea de la depanarea codului cu potențiale erori de tastare, puteți deschide Instrumente, Opțiuni din meniul VBA. Alegeți caseta Solicitare declarație variabilă afișată mai jos.

Pentru a prinde greșeli, bifați această casetă.

Toate modulele viitoare vor începe cu o linie care spune Option Explicit. Va trebui să adăugați linii noi în partea de sus a macro-ului care definește variabilele FinalRow și i. Excel nu vă va spune despre greșeala de ortografie până când nu încercați efectiv să rulați macro-ul. Apoi vă vor avertiza că variabila nu este definită.

Cuvântul evidențiat este greșit scris.

Deci, este apelul tău. Dacă nu vă deranjează să planificați în avans și să declarați toate variabilele, veți avea plasa de siguranță VBA care vă va spune dacă ați tastat incorect o variabilă. Pentru mine, prefer emoția de a depana codul rând pe rând și de a-mi găsi singur greșelile de tastare. Dar dacă nu aveți chef să trăiți periculos, nu ezitați să activați Option Explicit.

Nu sunt foarte sigur dacă acțiunile mele au implicat pașii 5, 8 sau 9 din cei 12 pași. Dar dacă cineva a petrecut timp suplimentar depanând codul său din cauza unei erori de tastare, îmi pare rău că v-am provocat acea durere.

În fiecare sâmbătă, voi discuta unul dintre obiceiurile mele proaste din Excel și voi discuta de ce poate ar trebui să faci ceea ce spun în loc să faci ceea ce fac eu.

Gândul Excel al zilei

Le-am cerut prietenilor mei Excel Master sfatul lor despre Excel. Gândul de astăzi să medităm:

„Nu modificați dezvoltatorii de foi de calcul la jumătatea scrum.”

Jordan Goldmeier

Articole interesante...