Il modo più semplice per creare una macro in Excel:
Il registratore di Macro


In molte pagine di questo sito si parla di Macro, di programmazione e di funzioni create ad hoc dall'utente in modo "custom". Come già messo in evidenza questo tipo di personalizzazioni di Excel sono ciò che rende Excel uno strumento tanto potente ma d'altra parte sono anche funzionalità di difficile apprendimento.
Esistono libri che spiegano dalla A alla Z le regole per programmare e costruire macro in Excel che dotino lo strumento di  funzionalità mirabolanti. Si veda ad esempio la nostra pagina dedicata ai libri. In realtà per molti utenti le Macro possono semplicemente esser utilizzate e create SENZA conoscere assolutamente nulla di ciò che viene raccontato in questi libri. I nostri utenti alle prime passi possono utilizzare uno strumento di Excel denominato "Registratore di Macro". Come vedremo questo strumento non garantisce nulla delle funzionalità specifiche di una buona macro programmata ad hoc ma invece risolvono uno dei problemi più noiosi che chiunque utilizzi Excel incontra ogni giorno: la ripetitività a volte parossistica delle operazioni da compiere sempre nella stessa sequenza. Un esempio potrebbe essere l'impostazione di un foglio per la srtampa oppure una serie di operazioni da eseguire per importare la nuova versione di dati provenienti da un differente sistema aziendale per i quali è necessario come prima cosa eseguire una successione routinaria di azioni per renderli "masticabili" a Excel.
Bene il Registratore di Macro è stato pensato esattamente per questo scopo: automatizzare le operazioni ripetitive in modo rapido e sicuro (senza errori).
Come funziona: Il principio è molto semplice: ogni azione che può essere compiuta su Excel ha il suo corrispondente esatto in una istruzione VBA. In fase di registrazione, Excel si pone all'ascolto delle azioni compiute dall'utente, traccia ogni azione e la traduce nel corrispondente comando VBA e la inserisce all'interno di una macro creata ex-novo. Al termine della registrazione, Excel chiude e salva la Macro che può essere, a questo punto eseguita: essa eseguirà la stessa esatta sequenza di comandi di fatto "sostituendosi" all'utente. La cosa interessante è che i comandi vengono eseguiti in pochi secondi e senza errori!
Vediamo come funziona il registratore di macro:
1. per prima cosa bisogna visualizzare il menu corrispondente (versioni fino a 2003):



A questo punto compare una nuova barra degli strumenti:

2. Su di essa copaiono due tasti che ricordano quelli della musica: quello del "play" e quello del "record". Essi hanno esattamente queste funzioni: il primo (Play) serve per eseguire le macro registrate, il secondo (Record) serve per registrare una nuova macro. Registriamo una nuova macro premendo sul tasto "Record". Compare una nuova finestra che elenca le propietà della nuova Macro che si sta per registrare: è possibile pure selezionare una combinazione di tasti veloce per chiamare la macro esattamente come si fa per il grassetto (CTRL+B) per il copia (CTRL+C) e incolla (CTRL+V):



3. Premendo "Invio" si comincia a registrare la macro. Compare una nuova piccola barra di strumenti. Contiene un solo tasto. E' il tasto di interruzione della registrazione della macro, da premere, ovviamente alla fine della procedura:



4. Registriamo una Macro. In questo esempio selezioneremo il Foglio2, poi ancora il Foglio 1 e poi imposteremo la stampa. Alla fine premiamo sul tasto di interruzione della Macro. Per visualizzare la macro si deve premere la combinazione di tasti ALT+F11 (si veda il tutorial animato per maggior dettagli).
La macro rislutante è la seguente:



Vediamola in dettaglio: Il nome è Macro1, esattamente come nella finestra all'inizio delle ragistrazione.
Viene poi una parte in verde di commenti (le righe di commento iniziano con un apice ' ) che sono ancora una volta i commenti inseriti all'inizio della registrazione. Vengono poi tre righe che dicono sostanzialmente di selezionare (attivare, visualizzare sull'interfaccia di Excel) il Foglio1 poi il Foglio2 e poi ancora il Foglio1.  A questo punto trovate una sequenza di comandi che null'altro non sono se non la dichiarazione di ognuno dei vari aspetti che potete modificare quando impostate la stampa di una pagina dalla corrispondente voce di Menu sotto File -> Imposta pagina.... La macro termina con un End Sub dato che abbiamo, a quel punto premuto il tasto di termine registrazione.

5. Ora potete eseguire la macro: premete ALT+F8 oppure il tasto Play del menu di Visual Basic:




Compare una finestra dove selezionare la macro da eseguire. Si seleziona il nome della macro, si fa un doppio click oppure si preme sul tasto "Esegui" e Excel ripeterà al massimo della velocità le istruzioni contenute nella Macro lanciata.

Limitazioni:
Le limitazioni sono sostanzialmente due e sono quelle che portano alla realizzazione delle Macro in VBA programmando direttamente:
1. Non si possono eseguire cicli e esecuzioni sotto condizioni particolari  (per chi ne sa di programmazione, il registratore di macro non inserisce cicli For..Next o is truzioni  If..Then..Else.) Questo fatto rende la macro un semplice elenco di istruzioni da eseguire in modo cieco sui dati.
2. Non possono essere personalizzate in fase di registrazione. Se si vuole una macro che ad esempio generi il nome del file da salvare e gestisca delle variabili, il registratore di macro non riesce a venirvi incontro.

Vantaggi:
Due i vantaggi:
1. si registra velocissimamente una sequenza di istruzioni, riporogrammare in VBA porterebbe via moltissimo tempo.
2. Spesso non si conosce il comando VBA che esegue una certa operazione: è sufficiente resgistrare una macro che esegue quel compito e poi andare a vedere come è fatta, raccogliere l'istruzione chiave sconosciuta e utilizzarla nelle proprie macro articolate!