Lavorare in Ambiente MS Excel
Le Macro di Excel
Ida Camminatiello
Scuola Sviluppo Informatica
[email protected]
Introduzione
• La costruzione e l'organizzazione di
strutture dati non banali tramite Excel può
comportare l'esecuzione da parte
dell'utente di una discreta mole di
operazioni, spesso ripetitive.
• In questi casi può essere estremamente
utile ricorrere alle macro
Le macro
• Le macro consentono di automatizzare
operazioni che vengono compiute
frequentemente
• Una macro è una sequenza di comandi e
funzioni che può essere memorizzata e
lanciata in qualunque momento per eseguire
le operazioni.
Applicazioni delle Macro
• Le applicazioni pratiche delle macro sono
solo da immaginare. Si può procedere alla
–
–
–
–
stampa di una tabella,
formattazione di un documento,
creazione di un grafico,
interrogazione di un data base e così via.
Creazione delle Macro
• Ci sono due modi per creare le macro:
– digitare le varie istruzioni in cui si articolano in
uno speciale ambiente di Excel, meglio
conosciuto dagli esperti come l’Editor del VBA
(Visual Basic for Application).
– utilizzare il famoso registratore di macro di
Excel
Registratore di macro
• Il registratore delle macro ha la prerogativa
di trasformare in un listato in VBA una
qualsiasi procedura operativa eseguita con la
mediazione della tastiera o del mouse.
• Il corrispondente programma viene custodito
nella memoria del computer e può essere
richiamato tutte le volte che si vuole
eseguire quella procedura.
Registrazione di una macro
•
Per registrare una macro in un foglio di calcolo occorre seguire la
seguente procedura:
– Menu Strumenti – Macro – Registra nuova macro.
– Nella casella Nome macro immettere il nome desiderato.
(Non è consentito l’utilizzo degli spazi).
– Nella casella Scelta rapida da tastiera stabilire il tasto di scelta rapida
(facoltativo).
Non è consentito l’utilizzo di caratteri speciali (@, #, ecc.) e numeri.
– Nella casella Memorizza macro in selezionare la posizione in cui si
desidera memorizzare la macro e scegliere OK.
– Effettuare le operazioni da automatizzare, che verranno automaticamente
registrate.
– Terminate le azioni desiderate premere il tasto stop (indicato da un
quadrato ■).
Registrazione di una macro:
Esempio (1)
• Esempio: registriamo un semplice programma
che traspone i dati contenuti in una tabella,
vale a dire che le righe diventano colonne e
viceversa.
Registrazione di una macro:
Esempio (2)
• Aprire il menu Strumenti e optare per la
voce Macro. Nel corrispondente sottomenu
selezionare la voce Registra nuova macro.
Registrazione di una macro:
Esempio (3)
• Nella casella Nome macro digitare il nome
che si vuole assegnare alla macro
– Trasposizione, per esempio
Registrazione di una macro:
Esempio (4)
• Sui nomi che possono essere utilizzati bisogna fare
qualche considerazione:
–
–
–
–
si possono utilizzare caratteri maiuscoli, minuscoli e punti.
non sono ammessi spazi.
La spazio può essere sostituito dall’underscore.
Sono nomi validi: Trasposizione, trasposizione,
trASPOsizione, Trasposizione1, Trasposizione_tabella.
– Non lo sono, invece: Trasposizione tabella o Trasposizione
1 perché è presente uno spazio.
Registrazione di una macro:
Esempio (5)
• Alla macro si può assegnare una combinazione
di due tasti che, quando premuti ne
determinano il lancio.
• Uno dei due tasti deve essere necessariamente
il tasto Control, mentre il secondo (un
carattere) deve essere digitato nella casella
Scelta rapida da tastiera.
Registrazione di una
macro: Esempio (6)
• Nella parte inferiore della maschera è presente
una finestra in cui possono essere inserite
eventuali annotazioni per documentare la macro.
• Concluso l’inserimento dei dati premere il pulsante
Ok. Così facendo, si determina:
– l’attivazione del registratore
– la contemporanea visualizzazione nell’area di lavoro di
due pulsanti affiancati.
– Il primo, con sopra impresso un quadratino, consente di
arrestare la registrazione in corso.
Registrazione di una macro:
Esempio (7)
 A questo punto eseguire la trasposizione della tabella:
 Evidenziarla con il mouse
 Aprire il menu Modifica e selezionare Copia.
 Fare clic sulla cella in cui dovrà essere posizionato l’angolo
superiore sinistro della tabella trasposta
 Aprire ancora il menu Modifica e selezionare la voce Incolla
speciale. Così facendo viene aperta una maschera in cui si spunta il
bottone Trasponi. Premendo il pulsante Ok si determina la
trasposizione della tabella.
 Togliere l’evidenziazione della tabella.
 Si conclude così la nostra procedura, pertanto possiamo
spegnere il registratore facendo clic sul pulsante dedicato
(quello con sopra impresso il quadratino).
Macro in VB
• Durante la trasposizione della tabella, Excel
ha lavorato intensamente per trasformare la
procedura nel corrispondente programma in
VBA.
• Per vedere il codice della macro descritta in
precedenza seguire la seguente procedura:
– Scegliere Macro dal menu Strumenti, quindi
Macro.
– Evidenziare il nome della macro di cui vogliamo
esaminare il listato e premere il pulsante
Modifica.
Esempio di macro in VB
•
Il codice della macro descritta in precedenza è il seguente:
1.
2.
3.
4.
5.
Sub trasposizione()
'
' trasposizione Macro
' Macro registrata il 01/07/2007 da ida
'
6. '
7.
Range("A1:B3").Select
8.
Selection.Copy
9.
Range("A5").Select
10. Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
11.
False, Transpose:=True
12. Range("E1").Select
13. Application.CutCopyMode = False
14. ActiveCell.FormulaR1C1 = ""
15. Range("A8").Select
16. End Sub
Commento al programma
• La prima sezione va da dalla riga 1 alla riga 6
ed è strutturata sempre nello stesso modo,
qualunque sia la macro che si è registrato.
• Il corpo della macro occupa le righe da 7 a 15
• La macro (come tutte le macro) si conclude
con la parola chiave End Sub che rappresenta
la fine del nostro programma.
Gestione delle macro
• Con l’Editor di Visual Basic è
possibile:
– modificare le macro,
– copiare macro da un modulo all’altro,
– copiare macro tra diverse cartelle di
lavoro,
– rinominare i moduli che memorizzano le
macro
– rinominare le macro stesse e cosi via.
Esecuzione di una macro
• Per eseguire una macro:
– Aprire la cartella di lavoro contenente la macro.
– Scegliere Macro dal menu Strumenti, quindi
Macro.
– Nella casella Nome macro immettere il nome
della macro che si desidera eseguire.
– Fare clic su Esegui.
• Per interrompere una macro prima del
completamento delle azioni registrate,
premere ESC.
Esecuzione di una macro
“passo-passo”
• Per eseguire una macro “passo-passo”
– Aprire la cartella di lavoro contenente la macro.
– Scegliere Macro dal menu Strumenti, quindi Macro.
– Nella casella Nome macro immettere il nome della
macro che si desidera eseguire.
– Fare clic su Incremento.
• Quest’attività ha un enorme utilità ai fini del test
dei programmi prodotti (debug).
Modifica di una macro
• Per modificare una macro:
– Scegliere Macro dal menu Strumenti, quindi
Macro.
– Nella casella Nome macro immettere il nome
della macro.
– Scegliere il pulsante Modifica.
• Nota: è necessaria una buona conoscenza
dell’Editor di Visual Basic
Eliminazione di una
macro
• Per eliminare una macro
– Aprire la cartella di lavoro contenente la macro che si
desidera eliminare.
– Scegliere Macro dal menu Strumenti, quindi scegliere
Macro.
– Dalla casella di riepilogo Macro in selezionare Questa
cartella di lavoro.
– Dalla casella Nome macro selezionare il nome della macro
che si desidera eliminare.
– Scegliere il pulsante Elimina.
• Nota: Per rimuovere tutte le macro dalla cartella di
lavoro, eliminare tutte le macro elencate nella finestra
di dialogo, quindi salvare la cartella di lavoro.
Spunti di riflessione
• Al termine della presente lezione si dovrebbe
essere in grado di registrare semplici macro e di
eseguirle
• Tuttavia la macro che abbiamo registrato
presenta alcune limitazioni:
– opera sempre sulle stesse posizioni del foglio di lavoro,
pertanto, volendo fare un esempio, se la nostra tabella
dovesse subire modifiche (ingrandirsi, per esempio) il
nostro programma non è in grado di accorgersi delle
aumentate dimensioni e opererebbe sempre sulla stessa
zona.
– non è in grado di ricevere dati dall’esterno e quindi non
se ne può pilotare il decorso.
Macro: conclusioni
• Con le macro e la programmazione si apre un vastissimo
capitolo di possibilità nuove di Excel.
• Per chi fosse interessato ad approfondire l’argomento una
prima fonte da non trascurare è l’Help in linea fornito dal
programma. Inoltre si consigliano i seguenti testi:
– Felicia K. Buckingham, Wayne S. Freeze, Curtis Frye (2006). Le
macro di Microsoft Excel 2003. Mondadori Informatica
– David Boctor (2003). Le macro di Office. Mondadori
Informatica
– P. Guccini (2005). Excel macro. Apogeo.
Scarica

Excel - Le macro