240 likes | 398 Views
Lavorare in Ambiente MS Excel Le Macro di Excel. Ida Camminatiello Scuola Sviluppo Informatica idacam@libero.it. Introduzione.
E N D
Lavorare in Ambiente MS ExcelLe 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
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 macrosono 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 sostituitodall’underscore. • Sono nomi validi: Trasposizione, trasposizione, trASPOsizione, Trasposizione1, Trasposizione_tabella. • Non lo sono, invece: Trasposizionetabella 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: • Sub trasposizione() • ' • ' trasposizione Macro • ' Macro registrata il 01/07/2007 da ida • ' • ' • Range("A1:B3").Select • Selection.Copy • Range("A5").Select • Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ • False, Transpose:=True • Range("E1").Select • Application.CutCopyMode = False • ActiveCell.FormulaR1C1 = "" • Range("A8").Select • 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.