Le macro in Excel: qualche concetto base

Una macro è un oggetto di Excel che consente di automatizzare sequenze di operazioni ripetitive più o meno lunghe e complesse, associandole a comandi personalizzati, che possono essere attivati a piacimento e che ripeteranno ogni volta la sequenza di operazioni per cui la macro è stata programmata.

A tutti gli effetti le macro sono dei programmi scritti in un linguaggio chiamato Visual Basic for Applications, abbreviato VBA.




In Excel, le macro possono essere scritte o registrate.
Mentre si registra, Excel si occupa tradurre e memorizzare i comandi eseguiti con i tasti e con i clic del mouse in codice VBA. Dopo la registrazione di una macro, è possibile riprodurre le azioni registrate in qualsiasi momento.
Il modo migliore per acquisire familiarità con VBA è semplicemente attivare il registratore di macro e registrare alcune azioni che si eseguono normalmente in Excel.

Nella prima lezione sulle Macro, che potete vedere cliccando sul bottone qui sotto, vedremo nel dettaglio come registrare una macro utilizzando il registratore e vedremo quali sono le opzioni che possiamo impostare alla nostra macro grazie alla finestra di dialogo di Excel.

 Vedi la prima lezione sulle macro 

Registrazione macro con riferimenti assoluti e relativi: cosa significa

La prima cosa da capire prima di iniziare è che Excel ha due modalità di registrazione: con riferimento assoluto e con riferimento relativo.




La modalità di registrazione predefinita di Excel è con riferimento assoluto. Il termine riferimento assoluto è spesso usato quando parliamo di riferimento a celle che si trovano nelle formule. Quando un riferimento a una o più celle in una formula è un riferimento assoluto, non si regola automaticamente quando la formula viene incollata in una nuova posizione.

Es.: =SOMMA($B$2:$B$15) – questo è un riferimento assoluto e se io copiassi questa formula in un’altra cella, questa mi mostrerebbe sempre la somma dei valori che si trovano nel range B2:B15.

In questo esempio,

Quando abbiamo chiesto a Excel di selezionare le celle A16 e B16, quelle celle sono esattamente ciò che Excel ha selezionato.
Poiché la macro è stata registrata o codificata in modalità di riferimento assoluto, Excel ha interpretato la selezione dell’intervallo come assoluta.

Nel contesto delle macro di Excel, riferimento relativo significa relativo alla cella attualmente attiva.

In questo esempio, non ci sono riferimenti a specifici intervalli di celle, ad eccezione del punto iniziale “A1”. Excel utilizza la proprietà Offset della cella attiva. Questa proprietà dice al cursore di spostarsi un certo numero di celle in alto o in basso e un certo numero di celle a sinistra o a destra.




Ciò significa che se io sono posizionata nella cella A1 del foglio e lancio la macro, questa scriverà nella cella A16 la parola “Totale” e nella cella D16 effettuerà la somma, mentre se io fossi posizionata con il mouse (cella attiva al momento del lancio) nella cella G13, per esempio, la macro scriverebbe nella cella G28 (15 righe più sotto a quella iniziale) la parola “Totale” e nella cella J28 (quindici righe più sotto e 3 più a destra rispetto alla cella iniziale) effettuerebbe la somma dei valori che trova nelle quattordici celle più sopra.

Per far funzionare una macro con riferimenti relativi, è sufficiente assicurarsi:

  • di aver selezionato la cella di partenza corretta prima di eseguire la macro;
  • che il range di dati su cui si esegue la macro ha lo stesso numero di righe e colonne del range dei dati su cui è stata registrata la macro.

Dopo questa breve ma necessaria introduzione, sei pronto per registrare la tua prima macro. Guarda subito la prima lezione del video-corso sulle macro di Excel.