Una referència relativa en una macro d'Excel significa relativa a la cel·la activa actualment. Així que aneu amb compte amb la vostra elecció de cel·la activa, tant quan enregistreu la macro de referència relativa com quan l'executeu.
Primer, obriu Sample File.xlsx disponible en línia . A continuació, seguiu els passos següents per gravar una macro de referència relativa:
A la pestanya Desenvolupador, seleccioneu l'opció Utilitza referències relatives.
Enregistrament d'una macro amb referències relatives.
Assegureu-vos que la cel·la A1 estigui seleccionada.
A la pestanya Desenvolupador, seleccioneu Enregistrar macro.
Anomena la macro AddTotalRelative.
Trieu aquest llibre de treball per a la ubicació de desar.
Feu clic a D'acord per començar a gravar.
Seleccioneu la cel·la A16 i escriviu Total a la cel·la.
Seleccioneu la primera cel·la buida a la columna D (D16) i escriviu = COUNTA(D2:D15).
A la pestanya Desenvolupador, feu clic a Atura la gravació per aturar l'enregistrament de la macro.
En aquest punt, heu gravat dues macros. Preneu-vos un moment per examinar el codi de la vostra macro acabada de crear seleccionant Macros a la pestanya Desenvolupador per obrir el quadre de diàleg Macro. Trieu la macro AddTotalRelative i feu clic a Edita.
De nou, s'obre Visual Basic Editor i us mostra el codi que es va escriure quan vau gravar la macro. Aquesta vegada, el vostre codi sembla el següent:
Sub AddTotalRelative()
ActiveCell.Offset(15, 0).Range("A1").Seleccioneu
ActiveCell.FormulaR1C1 = "Total"
ActiveCell.Offset(0, 3).Range("A1").Seleccioneu
ActiveCell.FormulaR1C1 = "=COUNTA(R[-14]C:R[-1]C)"
End Sub
Primer tingueu en compte que el codi no conté referències a intervals de cel·les específics (que no sigui el punt de partida, A1). Tingueu en compte que en aquesta macro, Excel utilitza la propietat Offset de la cel·la activa. Aquesta propietat indica al cursor que mogui un cert nombre de cel·les cap amunt o cap avall i un cert nombre de cel·les cap a l'esquerra o cap a la dreta.
En aquest cas, el codi de propietat Offset indica a Excel que mogui 15 files cap avall i 0 columnes a la cel·la activa (A1). Com que la macro s'ha enregistrat amb una referència relativa, Excel no seleccionarà explícitament una cel·la concreta com ho va fer quan es va registrar una macro de referència absoluta.
Per veure aquesta macro en acció, suprimiu la fila Total de les dues taules i feu el següent:
Seleccioneu la cel·la A1.
A la pestanya Desenvolupador, seleccioneu Macros.
Cerqueu i seleccioneu la macro AddTotalRelative.
Feu clic al botó Executar.
Seleccioneu la cel·la F1.
A la pestanya Desenvolupador, seleccioneu Macros.
Cerqueu i seleccioneu la macro AddTotalRelative.
Feu clic al botó Executar.
Tingueu en compte que aquesta macro, a diferència de la vostra macro anterior, funciona amb els dos conjunts de dades. Com que la macro aplica els totals relatius a la cel·la activa actualment, els totals s'apliquen correctament.
Perquè aquesta macro funcioni, només cal que us assegureu