Ko je smiselno uporabljati možnost izrecno - Excel Nasveti

Kazalo

Zdi se, da sem v preteklih letih povzročal nekaj jeze zaradi svojega kontroverznega stališča, da možnost Eplicit Explicit v VBA ni koristna. Na to sem se spomnil pred kratkim, ko sem na Excel Weekendu v Braziliji opravil Skype. Napisal sem knjigo o Excelu VBA za QUE. Ta knjiga je bila prevedena v portugalščino za brazilski trg. Torej, očitno sem že 15 let dobre učitelje iz Brazilije poučeval o programu Excel VBA. Zdaj, ko sem 15 let starejši in pametnejši, bom priznal, da morda obstajajo tehtni razlogi za uporabo eksplicitne možnosti.

V Notre Dame sem se udeležila poslovnih tečajev z veliko koncentracijo v programiranju. V čudnih okoliščinah sem se udeležil vsakega tečaja programiranja, ki je bil na voljo v ND, tako iz tehniške kot poslovne šole. Naučil sem se Fortran, Pascal, Assembler in COBOL. Všeč mi je bilo programiranje. Ti tečaji programiranja so rešili moj splošni uspeh in me preprečili, da bi me vrgli ven. Takrat so nam profesorji rekli, da moramo pred načrtovanjem kodiranja načrtovati svoj program in risati diagrame poteka. Bil sem upornik. Najprej bi napisal program, nato pa po zaključku narisal diagram poteka.

Prvih 18 mesecev kariere sem preživel pri pisanju programov COBOL. Potem pa sem prestopil na področje financ in deset let delal v financah in računovodstvu. Delal sem večinoma računovodska dela, a ko sem moral napisati neko kodo, sem vedel dovolj, da napišem nekaj kode.

Makrone sem programiral v Lotusu 1-2-3, nato pa sem začel pisati makroe VBA, potem ko smo leta 1995 prešli na Excel. Takrat sem bil še upor: predčasna razglasitev spremenljivk se mi je zdela preveč podobna risanju diagrama poteka pred pisanjem kode. Nikoli nisem tisti, ki bi načrtoval naprej. Potopite se. Začnite kodirati. Če nekje na poti potrebujete novo spremenljivko, jo preprosto ustvarite.

Bil sem upornik, najprej sem napisal kodo in kasneje narisal diagram poteka. Trdil sem, da je razglasitev spremenljivk namenjena formalnim programerjem. Če delate v računovodstvu in preprosto izbijete 20 vrstic kode, ni razloga, da bi svoje spremenljivke vnaprej prijavili.

Moje stališče do tega me je pripeljalo do prijateljskih prepirov z drugimi strokovnjaki za Excel. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Prvič, vedno priporočam prijavo spremenljivk predmeta. V spodnji kodi je WSD deklariran kot delovni list in dodeljen z ukazom Set. Če deklarirate spremenljivko objekta, lahko po lastnostih in metodah brskate tako, da vnesete spremenljivko, ki ji sledi pika.

Deklariranje spremenljivk objekta vodi do tega koristnega samodokončanja

Če ne uporabljate eksplicitne možnosti, tvegate črkovalne napake. V spodnji kodi je ustvarjena spremenljivka FinalRow. V naslednji vrstici sem verjetno nameraval zanko od 2 do FinalRow, vendar sem spremenljivko napačno napisal kot Fina1Row.

Pred desetletji so pisalci IBM Selectric izpustili tipko 1, ker bi ljudje namesto tega vtipkali malo črko L.

Brez možnosti Izrecno se nekdo morda ne zaveda, da je tipkarska napaka tam. Spremenljivka FinalRow lahko vsebuje 100. Toda koda znotraj zanke se ne bo izvedla, ker spremenljivka Fina1Row ni bila nikoli inicializirana in bo vsebovala ničlo.

Če želite preprečiti napake pri odpravljanju napak s kodo pri morebitnih tipkarskih napakah, lahko v meniju VBA odprete Orodja in možnosti Izberite spodnje polje Zahtevaj deklaracijo spremenljivke.

Če želite ujeti tiskarske napake, potrdite to polje.

Vsi prihodnji moduli se bodo začeli s vrstico z napisom Option Explicit. Na vrh makra boste morali dodati nove vrstice, ki definirajo spremenljivki FinalRow in i. Excel vam ne bo povedal za napačno črkovanje, dokler dejansko ne poskusite zagnati makra. Nato vas bodo opozorili, da spremenljivka ni določena.

Označena beseda je napačno črkovana.

Torej, to je tvoj klic. Če vas ne moti načrtovati vnaprej in prijaviti vse svoje spremenljivke, vam bo varnostna mreža VBA sporočila, ali ste spremenljivko vtipkali napačno. Zame imam raje vznemirjenje, ko kodo odpravljam napake po vrsti in natipkam svoje tipkarske napake sam. Če pa ne želite živeti nevarno, omogočite eksplicitno možnost.

Nisem prepričan, ali so moja dejanja vključevala korake 5, 8 ali 9 od 12 korakov. Če pa je kdo zaradi tipkarske napake porabil dodaten čas za razhroščevanje kode, mi je žal, ker sem vam povzročil to bolečino.

Vsako soboto bom v Excelu razpravljal o eni od svojih slabih navad in razpravljal o tem, zakaj bi morda moral delati to, kar rečem, namesto tega, kar delam jaz.

Excel Misel dneva

Za nasvet glede Excela sem prosil prijatelje Excel Excel. Današnja misel o premišljevanju:

"Ne spreminjajte razvijalcev preglednic na sredini."

Jordan Goldmeier

Zanimive Članki...