Discussione: Corso VBA
Visualizza messaggio singolo
Vecchio 02-04-2016, 20.23.47   #84
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
#4

Prefazione Editor VBA




Di solito si utilizza Microsoft Excel per creare documenti normali utilizzando le impostazioni predefinite dell'applicazione, ma se vogliamo applicare delle funzioni avanzate ad un foglio di calcolo, possiamo utilizzare Microsoft Visual Basic, un’applicazione che si installa automaticamente con Microsoft Excel.

Per creare un foglio di calcolo con funzionalità avanzate, si deve scrivere del codice nell’ambiente di programmazione Visual Basic Applications Edition (VBA). Per sfruttare le funzionalità dell’ambiente VBA, ci sono molte regole da seguire per interagire con il linguaggio


Visual Basic Editor (VBE)
VBE è contenuto nella cartella di lavoro di Microsoft Excel, ed è un ambiente usato per scrivere, modificare ed eseguire il debug di codice VBA che si può avviare in Excel 2007 dai seguenti percorsi:
  • Dalla scheda Sviluppo - Visual Basic
  • Dalla scheda Sviluppo - Visualizza codice
  • Fare clic col destro del mouse sulla scheda del nome foglio in basso, quindi fare clic su Visualizza codice
  • Premere la combinazione di tasti Alt + F11
I componenti di Visual Basic Editor si riferiscono alla Finestra del Codice, la Finestra Gestione progetti, la finestra Proprietà e l'area di lavoro di programmazione (es. menu e barre degli strumenti, oggetti, la finestra Immediata e la finestra di controllo). La Finestra del codice è dove scrivere e modificare il codice e le procedure, e anche dove le macro vengono registrate, mentre esplora progetti visualizza l'elenco di tutti i progetti esistenti e fornisce una vista ad albero in cui è possibile comprimere, per nascondere, o espandere, per visualizzare, gli oggetti, i Form e i moduli contenuti in un progetto. Ogni progetto contiene una cartella oggetti, che è il Microsoft Excel Objects, una cartella Forms che contiene i Form, una cartella Moduli che contiene i moduli e la cartella moduli di classe che contiene le classi.

La cartella Objects è sempre presente e contiene un oggetto foglio per ogni foglio di lavoro esistente, e un oggetto il ThisWorkbook e ogni oggetto foglio ha un primo nome che appare prima delle due parentesi, che è il nome del foglio e un secondo nome che compare tra le parentesi che è il nome della scheda del foglio che appare nel foglio di lavoro di Excel. Per visualizzare la finestra di Esplora progetti, si deve cliccare su Visualizza sulla barra dei menu VBE e quindi selezionare Esplora progetti, o premere CTRL + R in VBE.


Moduli in Excel VBE
Le macro VBA (cioè i codici o le procedure) devono risiedere nei loro appositi moduli o Excel non sarà in grado di trovare ed eseguirli, l’oggetto Modulo viene utilizzato per le procedure di evento incorporate in Excel e per creare i propri eventi che sono: Modulo, ThisWorkbook, moduli Sheet (fogli di lavoro e fogli grafici), moduli Form e moduli di classe, in generale il codice VBA nei confronti degli eventi non associati a un particolare oggetto (come la cartella di lavoro o un foglio) vengono inseriti in un modulo di codice standard, una pratica generalmente accettata è quella di piazzare le routine di evento nel modulo ThisWorkbook, nei moduli di fogli e UserForm, pur ponendo altro codice VBA in moduli standard. I moduli di codice standard sono anche indicati come moduli di codice o moduli, e ci possono essere vari moduli (Modulo1, Modulo2 etc.) in un progetto VBA, in cui ciascun modulo può essere utilizzato per coprire un certo aspetto del progetto. Per inserire un modulo si deve cliccare su Inserisci sulla barra dei menu VBE e quindi selezionare Modulo.


Proseguimento linea del codice VBA
Molte volte durante la scrittura di codice VBA, una sola riga di codice potrebbe diventare molto lunga e nella finestra del codice sarà necessario scorrere verso il lato destro per leggerlo. Per dividere una singola riga in più righe in VBA, è possibile utilizzare la linea come carattere di continuazione che è la combinazione di uno spazio seguito da un underscore (_), usando questo carattere come una interruzione di linea, vi permetterà di passare alla riga successiva e così via, e questo sarà il trattamento di tutte le linee continue come una singola riga nel codice VBA.

Si noti che si può avere un massimo di 25 linee fisicamente, unite con il carattere di continuazione di riga (cioè un massimo di 24 caratteri di continuazione della riga), e di essere trattate come una singola riga logica di codice. Una linea fisica può avere al massimo 1023 caratteri mentre una linea logica può avere un massimo di 10.230 caratteri, in modo che un massimo di 25 linee fisiche possono essere unite pari ad un massimo di 10.230 caratteri.


Controllo Automatico Sintassi
Durante la scrittura di codice VBA, il codice che ha un errore di sintassi diventa rosso non appena il cursore si sposta sulla linea se il controllo automatico di sintassi è selezionato (impostazione di default), un controllo della sintassi viene eseguito ogni volta che si sposta il cursore su una nuova linea, e in caso di errore di sintassi una finestra pop-up avverte con un messaggio "errore di compilazione". Se il controllo automatico di sintassi è deselezionato, non sarà più possibile ottenere questi box di avviso, anche se l’errore farà diventare di colore rosso la riga del codice. È possibile deselezionare il controllo automatico di sintassi andando in VBE, seguendo il percorso Strumenti – Opzioni e nella finestra visualizzata, selezionare la scheda Editor, e quindi deselezionare la casella di controllo.

È inoltre possibile modificare il colore rosso di default dell’errore di sintassi andando in VBE, cliccate su Strumenti – Opzioni e nella finestra visualizzata, selezionare la scheda Formato, selezionare sintassi del testo di errore nella casella di riepilogo codice colori, e poi scegliere il nuovo colore di primo piano.


Commento del codice in VBA
All'interno di una procedura, durante la scrittura di codice è possibile contemporaneamente fornire commenti per spiegare lo scopo e ciò che il codice sta facendo. Per differenziare i commenti con il codice, dovete inserire un singolo carattere di apostrofo (') o con la dicitura Rem seguito da uno spazio. I commenti verranno ignorati da VBA in modo che un errore di sintassi nel commento non viene restituito. Si consiglia di utilizzare i commenti nel codice che saranno di grande aiuto a un altro utente nella comprensione, o se si deve effettuare una modifica in un secondo momento. Una volta che si aggiunge un carattere di commento (') all'inizio di una riga è possibile utilizzare la sequenza di continuazione (_) per continuare il commento alla riga successiva e quando si preme il tasto Invio dopo aver digitato un commento, il suo colore diventa verde, come da impostazione predefinita di VBA.

Questa impostazione predefinita del colore del commento può essere modificato andando in VBE, e seguendo il percorso Strumenti – Opzioni

Fig. 1

Fig. 2


Indentare il codice VBA
La procedura di VBA può essere composto da più righe di codice con una serie di dichiarazioni e quando il codice diventa più lungo e complesso, la formattazione del codice con un rientro contribuirà a rendere più facile da leggere, e renderà il debug più semplice. Gli sviluppatori utilizzano in genere un rientro per il codice all'interno delle linee di inizio e fine dei Loop in cui una serie di righe di codice o in un ciclo For Next si usa rientrare per distinguerli come appartenenti ad un particolare procedimento. L'indentazione è molto utile nel codice nidificato in modo che ogni blocco di codice è visivamente separato, e le linee di inizio e fine di ogni blocco sono allineate.

L’Indentazione di solito è fatta premendo il tasto Tab una o più volte, prima di digitare il codice. Si noti che per impostazione predefinita in VBA, premendo il tasto Tab si sposta il cursore di quattro spazi o caratteri a destra. Questa impostazione del valore della scheda può essere modificata andando a VBE, e seguendo il percorso Strumenti – Opzioni e nella finestra visualizzata selezionare la scheda Editor e inserire il nuovo valore nella casella "Larghezza linguetta". Nella scheda Editor della finestra di dialogo Opzioni, è possibile anche selezionare "Rientro tabulazione", che ripeterà il rientro della riga corrente premendo Invio.


Parole chiave di VBA
Le parole chiave sono parole riservate che VBA usa come parte del suo linguaggio di programmazione e sono parole o comandi che sono riconosciuti da VBA e possono essere utilizzati nel codice solo come parte del linguaggio VBA (come in una dichiarazione, il nome della funzione, o l'operatore) e non altrimenti (come i nomi delle sub-routine o variabile). Esempi di parole chiave sono: Sub, End, Dim, If, Next, And, Or, Loop, Do, Len, Close, data, Else, Select, e così via. Per ottenere aiuto su una determinata parola chiave, inserire il cursore del mouse all'interno della parola (nel codice VBA in VBE) e premere F1.
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato