Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica...

24
Lavorare in Ambiente MS Lavorare in Ambiente MS Excel Excel Le Macro di Excel Le Macro di Excel Ida Camminatiello Ida Camminatiello Scuola Sviluppo Informatica Scuola Sviluppo Informatica [email protected] [email protected]

Transcript of Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica...

Page 1: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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

Page 2: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@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

Page 3: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 4: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 5: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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

Page 6: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 7: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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 ■).

Page 8: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 9: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 10: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

Registrazione di una macro: Esempio (3)

• Nella casella Nome macro digitare il nome che si vuole assegnare alla macro– Trasposizione, per esempio

Page 11: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 12: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 13: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 14: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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).

Page 15: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 16: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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

Page 17: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 18: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 19: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 20: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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).

Page 21: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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

Page 22: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 23: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.

Page 24: Lavorare in Ambiente MS Excel Le Macro di Excel Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it.

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.