Esistono due modi per creare una macro in Excel: registrare macro Excel o scrivere macro Excel. In quest'ultimo caso devi conoscere il linguaggio VBA. Per semplificare il tuo apprendimento di questo linguaggio il registratore macro si rileva uno strumento molto utile. In questo articolo ti mostrerò come usare i riferimenti relativi e i riferimenti assoluti durante la registrazione di una macro in Excel.
Riferimenti relativi o riferimenti assoluti?
Ogni volta che utilizzi il registratore per creare macro, Excel registra le tue azioni utilizzando i riferimenti assoluti alle celle (questa è la modalità di registrazione predefinita). Molto spesso, questa modalità di registrazione non va bene. Se utilizzi la modalità di registrazione assoluta, i riferimenti di cella di Excel si riferiscono effettivamente alle celle selezionate. Ciò significa che la tua macro avrà effetto solo su celle specifiche. Se utilizzi la modalità di registrazione relativa, Excel registra i riferimenti relativi alle celle. In questo caso la tua macro potrà essere utilizzata in modo generico.
Continua a leggere per capire meglio la differenza.
Registrare una macro utilizzando i riferimenti assoluti
Attenersi alla seguente procedura per registrare una semplice macro utilizzando i riferimenti assoluti.
Questa macro inserisce i nomi di tre mesi in un foglio di lavoro:
- Accertarsi che il pulsante “Usa riferimenti relativi” presente nel gruppo Codice della scheda Sviluppo non sia attivo quindi fare un clic sul comando Registra Macro.
- Digitare RiferimentiAssoluti come nome per questa macro.
- Fare clic su OK per iniziare la registrazione.
- Attivare la cella B1 e digitare Gen nella cella.
- Passare alla cella C1 e digitare Feb.
- Passare alla cella D1 e digitare Mar.
- Fare clic sulla cella B1 per attivarla di nuovo.
- Arrestare il registratore di macro.
- Premere Alt + F11 per attivare l’Editor VB.
- Esaminare il modulo Modulo1.
Excel genera il seguente codice:
Quando viene eseguita, questa macro seleziona la cella B1 e inserisce i tre mesi nomi nell’intervallo B1:D1. Quindi la macro seleziona la cella B1.
Queste stesse azioni si verificano indipendentemente dalla cella attiva quando si esegue la macro. Una macro registrata utilizzando riferimenti assoluti produce sempre gli stessi risultati quando viene eseguita. In questo caso, la macro immette sempre i nomi dei primi tre mesi nell’intervallo B1:D1.
Registrare una macro utilizzando i riferimenti relativi
In alcuni casi, si desidera che la macro registrata funzioni con le posizioni delle celle in a modo relativo. La macro immette i nomi dei mesi nella cella attiva. Per far questo, occorre utilizzare la registrazione relativa.
È possibile modificare il modo in cui Excel registra le azioni facendo clic sul pulsante Usa riferimenti relativi nel gruppo Codice nella scheda Sviluppo.
Questo pulsante è un pulsante di attivazione / disattivazione. Quando il pulsante è attivo, la modalità di registrazione è relativa. Quando il pulsante è disattivato, si sta registrando in modalità assoluta.
È possibile modificare il metodo di registrazione in qualsiasi momento, anche durante la registrazione.
Per vedere come funziona la registrazione in modalità relativa, cancella il contenuto precedentemente inserito nelle celle in B1:D1 e poi effettua le seguenti operazioni:
1. Fai clic sul pulsante Usa riferimenti relativi per modificare la modalità di registrazione.
2. Attiva la cella B1.
3. Fai un clic sul comando Registra Macro.
4. Assegna il nome RiferimentiRelativi alla macro.
5. Fai clic su OK per avviare la registrazione.
6. Digita Gen nella cella B1.
7. Passa alla cella C1 e digita Feb.
8. Passa alla cella D1 e digita Mar.
9. Seleziona la cella B1.
10. Interrompi il registratore di macro.
NOTA
Questa procedura differisce leggermente dall’esempio precedente. In questo esempio, si attiva la cella iniziale prima di iniziare la registrazione. Questo è un passaggio importante quando si registra una macro che utilizza la cella attiva come base.
Questa macro inserirà sempre il testo a partire dalla cella attiva. Per fare una verifica seleziona una cella qualsiasi e quindi esegui la macro. I nomi dei mesi saranno sempre inseriti a partire dalla cella selezionata.
Con la modalità di registrazione impostata su riferimenti relativi, il codice generato da Excel differisce da quello generato in modalità assoluta:
Se desideri testare questa macro, attiva qualsiasi cella ad eccezione della cella B1. Questo perché altrimenti otterresti lo stesso risultato visto in precedenza.
Quindi esegui la macro e noterai che i nomi dei mesi saranno inseriti in tre celle, a partire dalla cella che hai attivato.
NOTA
Il codice generato dal registratore di macro fa riferimento alla cella A1.
Questo può sembrare strano perché non hai mai usato la cella A1 durante la registrazione di macro.
Ciò dipende semplicemente dal modo in cui funziona il registratore di macro.
Il codice precedente può essere modificato come segue (rimuovi la parte di codice Range(“A1”)). Sicuramente non ti risulterà difficile capirne il funzionamento.
Macro Excel: cosa viene registrato?
Ogni volta che attivi il registratore di macro, Excel converte le tue azioni in codice VBA.
Il modo migliore per capire il processo è guardare il registratore di macro in azione.
Per far questo segui questi passi:
- Utilizza una cartella di lavoro vuota.
- Assicurati che la finestra di Excel non sia ingrandita a pieno schermo.
- Premi Alt + F11 per attiva il VBE.
- Ridimensiona e disponi la finestra di Excel e la finestra VBE in modo che entrambi siano visibili.
- Attiva la finestra di Excel e fai clic sul comando Registra Macro presente nel gruppo Codice della scheda Sviluppo.
- Fai clic su OK per avviare il registratore di macro. Excel inserisce un nuovo modulo (denominato Modulo1) all’interno del quale inserirà il codice generato durante la registrazione.
- Attiva la finestra dell’Editor VB.
- Nella finestra Gestione progetti, fai doppio clic su Modulo1 per visualizzarlo. Successivamente posiziona il puntatore del mouse all’interno del codice della macro (tra Sub e End Sub).
- Ritorna sulla finestra di Excel e fai clic su alcuni comandi presenti sulla barra multifunzione per eseguire differenti azioni e osserva il codice generato nella finestra VBE.
Questo ti consentirà di capire meglio il processo di creazione delle macro Excel. Ma soprattutto è un ottimo modo per capire meglio come creare macro in Excel utilizzando il linguaggio VBA.
Guarda il video e scopri come utilizzare i riferimenti relativi e assoluti all’interno delle macro Excel.
Potrebbero interessarti anche i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!