Quando ha senso utilizzare l'opzione Explicit - Suggerimenti per Excel

Sommario

Sembra che abbia causato un po 'di rabbia nel corso degli anni a causa della mia posizione controversa che Option Explicit non è utile in VBA. Questo mi è stato ricordato di recente quando ho fatto una sessione Skype all'Excel Weekend in Brasile. Ho scritto un libro su Excel VBA per QUE. Quel libro è stato tradotto in portoghese per il mercato brasiliano. Quindi, a quanto pare, ho insegnato alle brave persone del Brasile su Excel VBA per 15 anni. Ora che ho 15 anni in più e più saggio, ammetto che potrebbero esserci buoni motivi per utilizzare Option Explicit.

A Notre Dame, ho seguito corsi di business con una forte concentrazione nella programmazione. Attraverso una strana serie di circostanze, ho seguito tutti i corsi di programmazione disponibili presso ND sia dalle scuole di ingegneria che da quelle di economia. Ho imparato Fortran, Pascal, Assembler e COBOL. Amavo la programmazione. Quei corsi di programmazione hanno salvato il mio GPA e mi hanno impedito di essere buttato fuori. In passato, i nostri professori ci dissero che dovevamo pianificare il nostro programma e disegnare a mano diagrammi di flusso prima di iniziare a programmare. Ero un ribelle. Scriverei prima il programma e poi disegnerei il diagramma di flusso dopo aver finito.

Ho trascorso i primi 18 mesi della mia carriera scrivendo programmi COBOL. Ma poi sono passato alla finanza e ho lavorato per dieci anni in finanza e contabilità. Facevo principalmente lavori di contabilità, ma quando avevo bisogno di scrivere del codice, ne sapevo abbastanza per scrivere del codice.

Ho programmato macro in Lotus 1-2-3 e poi ho iniziato a scrivere macro VBA dopo essere passati a Excel nel 1995. Ero ancora ribelle a quel punto: dichiarare le mie variabili in anticipo sembrava troppo come disegnare un diagramma di flusso prima di scrivere il codice. Non sono mai uno che pianifica in anticipo. Immergiti. Inizia a scrivere codice. Se hai bisogno di una nuova variabile da qualche parte lungo la strada, crea semplicemente la variabile.

Ero un ribelle, scrivevo prima il codice e poi disegnavo il diagramma di flusso Dichiarare le variabili, ho sostenuto, è per programmatori formali. Se stai lavorando in contabilità e stai semplicemente eliminando 20 righe di codice, non c'è motivo di dichiarare le tue variabili in anticipo.

La mia posizione su questo mi ha portato ad alcune discussioni amichevoli con altri esperti di Excel. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Prima di tutto, ho sempre consigliato di dichiarare le variabili oggetto. Nel codice seguente, WSD viene dichiarato come foglio di lavoro e assegnato utilizzando il comando Set. Se dichiari la variabile oggetto, puoi sfogliare tutte le proprietà e i metodi digitando la variabile seguita da un punto.

La dichiarazione delle variabili oggetto porta a questo utile completamento automatico

Non utilizzando Option Explicit, corri il rischio di errori di ortografia. Nel codice seguente, viene creata una variabile chiamata FinalRow. Nella riga successiva, probabilmente intendevo eseguire un ciclo da 2 a FinalRow, ma ho digitato erroneamente la variabile come Fina1Row.

Decenni fa, i typerwriter IBM Selectric hanno omesso il tasto 1 perché le persone invece digitavano una L minuscola.

Senza Option Explicit, qualcuno potrebbe non rendersi conto che c'è un errore di battitura. La variabile FinalRow potrebbe contenere 100. Ma il codice all'interno del ciclo non verrà eseguito perché la variabile Fina1Row non è mai stata inizializzata e conterrà uno zero.

Per evitare la frustrazione di eseguire il debug del codice con potenziali errori di digitazione, è possibile aprire Strumenti, Opzioni nel menu VBA. Scegliere la casella Richiedi dichiarazione di variabili mostrata di seguito.

Per rilevare errori di battitura, seleziona questa casella.

Tutti i moduli futuri inizieranno con una riga che dice Option Explicit. Dovrai aggiungere nuove righe all'inizio della macro definendo le variabili FinalRow e i. Excel non ti dirà dell'errore di ortografia fino a quando non provi effettivamente a eseguire la macro. Ti avviseranno quindi che la variabile non è definita.

La parola evidenziata è scritta in modo errato.

Quindi, è la tua chiamata. Se non ti dispiace pianificare in anticipo e dichiarare tutte le tue variabili, avrai la rete di sicurezza di VBA che ti dice se hai digitato una variabile in modo errato. Per me, preferisco l'emozione di eseguire il debug del codice una riga alla volta e trovare i miei errori di battitura da solo. Ma se non hai voglia di vivere pericolosamente, sentiti libero di abilitare Option Explicit.

Non sono veramente sicuro che le mie azioni abbiano coinvolto i passaggi 5, 8 o 9 dei 12 passaggi. Ma se qualcuno ha trascorso più tempo a eseguire il debug del proprio codice a causa di un errore di battitura, mi dispiace per averti causato quel dolore.

Ogni sabato discuterò una delle mie cattive abitudini in Excel e discuterò perché forse dovresti fare quello che dico invece di fare quello che faccio.

Excel pensiero del giorno

Ho chiesto ai miei amici di Excel Master per i loro consigli su Excel. Pensiero di oggi su cui riflettere:

"Non cambiare gli sviluppatori di fogli di calcolo a metà di Scrum."

Jordan Goldmeier

Articoli interessanti...