Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica...
-
Upload
romilda-nigro -
Category
Documents
-
view
222 -
download
4
Transcript of Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica...
Lavorare in Ambiente MS Lavorare in Ambiente MS ExcelExcel
Le Macro di ExcelLe Macro di Excel
Lavorare in Ambiente MS Lavorare in Ambiente MS ExcelExcel
Le Macro di ExcelLe Macro di ExcelIda CamminatielloIda Camminatiello
Scuola Sviluppo InformaticaScuola Sviluppo Informatica
[email protected]@libero.it
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. Sub trasposizione()2. '3. ' trasposizione Macro4. ' Macro registrata il 01/07/2007 da ida5. '
6. '7. Range("A1:B3").Select8. Selection.Copy9. Range("A5").Select10. Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _11. False, Transpose:=True12. Range("E1").Select13. Application.CutCopyMode = False14. ActiveCell.FormulaR1C1 = ""15. Range("A8").Select16.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.