fbpx
.st0{fill:#FFFFFF;}

Excel Esperto, Macro e VBA

Macro Excel: riferimenti relativi assoluti

 Novembre 13, 2019

By  Damiano Causale

  • Home
  • Macro Excel: riferimenti relativi assoluti

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?

macro excel

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:

  1. 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.
  2. Digitare RiferimentiAssoluti come nome per questa macro.

macro excel

  1. Fare clic su OK per iniziare la registrazione.
  2. Attivare la cella B1 e digitare Gen nella cella.
  3. Passare alla cella C1 e digitare Feb.
  4. Passare alla cella D1 e digitare Mar.
  5. Fare clic sulla cella B1 per attivarla di nuovo.
  6. Arrestare il registratore di macro.
  7. Premere Alt + F11 per attivare l’Editor VB.
  8. Esaminare il modulo Modulo1.

Excel genera il seguente codice:

macro excel

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

macro excel

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.

macro excel

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

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:

macro excel

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

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

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:

  1. Utilizza una cartella di lavoro vuota.
  2. Assicurati che la finestra di Excel non sia ingrandita a pieno schermo.
  3. Premi Alt + F11 per attiva il VBE.
  4. Ridimensiona e disponi la finestra di Excel e la finestra VBE in modo che entrambi siano visibili.
  5. Attiva la finestra di Excel e fai clic sul comando Registra Macro presente nel gruppo Codice della scheda Sviluppo.
  6. 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.
  7. Attiva la finestra dell’Editor VB.
  8. 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).
  9. 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.

macro excel

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.

Damiano Causale


Mi chiamo Damiano Causale, istruttore Microsoft certificato, per lavoro aiuto aziende e privati nell'utilizzo di Excel.

Damiano Causale

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}