Video: Riferimenti assoluti e riferimenti relativi quando si registra una macro di excel 2024
Un riferimento in una macro di Excel significa relativo alla cella correntemente attiva. Quindi fai attenzione con la scelta della cella attiva, sia quando registri la macro di riferimento relativa sia quando la esegui.
Per prima cosa, apri File di esempio. xlsx disponibile online. Quindi, utilizzare i seguenti passaggi per registrare una macro di riferimento relativa:
-
Nella scheda Sviluppatore, selezionare l'opzione Usa riferimenti relativi.
-
Assicurarsi che la cella A1 sia selezionata.
-
Nella scheda Sviluppatore, seleziona Registra macro.
-
Nome della macro AddTotalRelative.
-
Scegli questa cartella di lavoro per la posizione di salvataggio.
-
Fare clic su OK per avviare la registrazione.
-
Seleziona la cella A16 e digita Total nella cella.
-
Selezionare la prima cella vuota nella colonna D (D16) e digitare = COUNTA (D2: D15).
-
Nella scheda Sviluppatore, fare clic su Interrompi registrazione per interrompere la registrazione della macro.
A questo punto, hai registrato due macro. Prenditi un momento per esaminare il codice per la tua macro appena creata selezionando Macro nella scheda Sviluppatore per aprire la finestra di dialogo Macro. Scegli la macro AddTotalRelative e fai clic su Modifica.
Di nuovo, Visual Basic Editor si apre e mostra il codice che è stato scritto quando hai registrato la tua macro. Questa volta, il tuo codice ha un aspetto simile al seguente:
Sub AddTotalRelative () ActiveCell. Offset (15, 0). Range ("A1"). Seleziona ActiveCell. FormulaR1C1 = "Totale" ActiveCell. Offset (0, 3). Range ("A1"). Seleziona ActiveCell. FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C)" End Sub
Prima nota che il codice non contiene riferimenti a intervalli di celle specifici (tranne il punto di partenza, A1). Si noti che in questa macro, Excel utilizza la proprietà Offset della cella attiva. Questa proprietà dice al cursore di spostare un certo numero di celle in alto o in basso e un certo numero di celle a sinistra oa destra.
In questo caso, il codice di proprietà Offset indica a Excel di spostare 15 righe in basso e 0 colonne di fronte alla cella attiva (A1). Poiché la macro è stata registrata utilizzando il riferimento relativo, Excel non selezionerà esplicitamente una determinata cella come ha fatto quando registra una macro di riferimento assoluta.
Per vedere questa macro in azione, elimina la riga Totale per entrambe le tabelle e fai quanto segue:
-
Seleziona la cella A1.
-
Nella scheda Sviluppatore, seleziona Macro.
-
Trova e seleziona la macro AddTotalRelative.
-
Fai clic sul pulsante Esegui.
-
Seleziona la cella F1.
-
Nella scheda Sviluppatore, seleziona Macro.
-
Trova e seleziona la macro AddTotalRelative.
-
Fai clic sul pulsante Esegui.
Si noti che questa macro, a differenza della precedente macro, funziona su entrambi i gruppi di dati.Poiché la macro applica i totali relativi alla cella correntemente attiva, i totali vengono applicati correttamente.
Affinché questa macro funzioni, è sufficiente assicurarsi che
-
abbia selezionato la cella iniziale corretta prima di eseguire la macro.
-
Il blocco dei dati ha lo stesso numero di righe e colonne dei dati su cui è stata registrata la macro.