Se hai un semplice insieme di azioni che devi ripetere più volte, puoi fare in modo che Excel registri queste azioni e produca una macro, contenente il codice per ripeterle.
Dopo aver registrato la macro, puoi ripetere l’insieme di azioni tutte le volte che vuoi, semplicemente eseguendo la macro registrata. Questo è molto più efficiente che ripetere ogni volta lo stesso insieme di azioni manualmente.
Per registrare una macro, è necessario avviare il processo di registrazione. Questa opzione si trova nel menu Macro, che si trova nella scheda Visualizza della barra multifunzione di Excel, come mostrato nell’immagine seguente:
Verrà quindi visualizzata la finestra di dialogo ‘Registra macro’ mostrata qua sotto.
Questa finestra ti consente di inserire un nome e una descrizione per la tua macro, se lo desideri. È una buona idea dare un nome significativo alla macro, in modo che quando tornerai alla macro in un secondo momento, questo ti aiuterà a ricordare a cosa serve. Tuttavia, se non si fornisce un nome, Excel assegnerà automaticamente un nome di macro (ad esempio Macro1, Macro2, ecc.).
La finestra di dialogo ‘Registra macro’ ti dà anche la possibilità di assegnare una scorciatoia da tastiera alla tua macro. Ciò renderà la macro molto più semplice da eseguire. Tuttavia, dovresti fare attenzione a non assegnare una delle combinazioni di tasti predefinite di Excel (ad esempio CTRL-C) alla macro. Se selezioni una combinazione di tasti esistente, questa verrà sovrascritta dalla tua macro e tu, o altri utenti, potreste finire per eseguire accidentalmente il codice macro.
Una volta soddisfatto del nome della macro e della scorciatoia da tastiera (se necessaria), seleziona OK per avviare la registrazione della macro.
Quando la macro inizia a registrare, ogni azione eseguita (immissione di dati, selezione di celle, formattazione di celle, scorrimento del foglio di lavoro, ecc.) verrà registrata nella nuova macro, come codice VBA.
Inoltre, durante la registrazione della macro, verrà visualizzato un pulsante di arresto nella parte inferiore sinistra della cartella di lavoro, come mostrato di seguito:
Dopo aver completato le azioni che si desidera registrare, è possibile interrompere la registrazione della macro facendo clic sul pulsante di arresto. Il codice macro verrà memorizzato in un modulo all’interno dell’editor di Visual Basic.
L’opzione “Usa riferimenti relativi”
Se si seleziona l’opzione Usa riferimenti relativi durante la registrazione di una macro, tutti i riferimenti di cella all’interno della macro saranno relativi. Invece, se l’opzione Usa riferimenti relativi non è stata selezionata, tutti i riferimenti di cella visualizzati nel codice saranno assoluti (consulta la pagina I riferimenti di cella in Excel se desideri saperne di più su questi due tipi di riferimenti di cella).
L’opzione Usa riferimenti relativi si trova nel menu Macro, come mostrato di seguito:
Vedere il codice VBA
Il codice VBA prodotto dalla macro viene inserito in un modulo, che può essere visualizzato tramite il Visual Basic Editor. Questo può essere aperto premendo Alt + F11 (cioè premendo il tasto ALT e mentre questo è premuto, premendo F11).
Il codice si trova in uno dei moduli nella finestra Gestione progetti, che è posizionata a sinistra nell’editor di Visual Basic. Nel semplice caso mostrato qua sotto, è possibile visualizzare questo codice facendo doppio clic su ‘Modulo 1’.
Eseguire le macro registrate
Durante la registrazione di macro, Excel produce sempre una procedura chiamata Sub (anziché una procedura Function). Se alla macro è stata assegnata una scorciatoia da tastiera, questa scorciatoia sarà il modo più semplice di eseguire la macro. Altrimenti, la macro può essere eseguita tramite i seguenti passaggi:
- Premere Alt + F8 (ovvero premere il tasto ALT e tenendolo premuto, premere F8) per visualizzare la finestra di dialogo ‘Macro’;
- Nella finestra di dialogo ‘Macro’, selezionare la macro che si desidera eseguire;
- Fare clic su Esegui.
Limitazioni
Sebbene la funzione di registrazione macro di Excel sia un modo molto semplice di creare codice VBA, può essere utilizzata solo per macro molto basilari. Questo perché non può utilizzare molte funzionalità VBA, come:
- Costanti, variabili e array definite;
- Istruzioni If;
- Loops;
- Chiamate a funzioni integrate o altre procedure.
Inoltre, lo strumento di registrazione può produrre solo procedure Sub (non procedure Function), poiché non può restituire un valore. Queste Sub non possono passare alcun argomento, anche se sono in grado di identificare le celle, gli intervalli o i fogli di lavoro attivi correnti e i valori memorizzati nelle celle della cartella di lavoro. Va inoltre notato che il codice generato non è sempre il codice più efficiente possibile per le azioni richieste.
Mentre il codice VBA generato automaticamente da Excel va bene per le macro semplici, se vuoi produrre macro più complesse, potresti voler imparare a scrivere del codice VBA da solo. In ogni caso, la funzione di registrazione macro di Excel è uno strumento eccellente per fornire codice che è possibile adattare o inserire in macro più complesse.
Se vuoi, puoi usare questo link per tornare alla pagina di