Excels standardinspelningsläge är absolut referens. När en cellreferens i en formel är en absolut referens justeras den inte automatiskt när formeln klistras in på en ny plats.
Det bästa sättet att förstå hur detta koncept gäller för makron är att prova det. Spela in ett makro som räknar raderna i ett kalkylblad. (Se bilden för ett exempel.)

Ditt förtalade kalkylblad som innehåller två tabeller.
Du kan hitta exempeldatauppsättningen som används här online .
Följ dessa steg för att spela in makrot:
Se till att cell A1 är markerad.
På fliken Utvecklare väljer du Spela in makro.
Namnge makrot AddTotal.
Välj den här arbetsboken för lagringsplatsen.
Klicka på OK för att starta inspelningen.
Vid det här laget registrerar Excel dina handlingar.
Medan Excel spelar in, välj cell A16 och skriv Totalt i cellen.
Välj den första tomma cellen i kolumn D (D16) och skriv = COUNTA(D2:D15).
Denna formel ger ett antal grennummer längst ner i kolumn D. Du använder COUNTA-funktionen eftersom grennumren lagras som text.
Klicka på Stoppa inspelning på fliken Utvecklare för att stoppa inspelningen av makrot.

Ditt totala kalkylblad.
Det formaterade kalkylbladet ska se ut som det som visas här.
För att se ditt makro i aktion, ta bort raden Totalt du just lade till och spela upp ditt makro genom att följa dessa steg:
Välj Makron på fliken Utvecklare.
Hitta och välj AddTotal-makrot som du just spelade in.
Klicka på knappen Kör.
Om allt går bra spelar makrot upp dina handlingar till ett T och ger ditt bord en totalsumma. Nu är det här. Oavsett hur mycket du försöker kan du inte få AddTotal-makrot att fungera på det andra bordet. Varför? Eftersom du spelade in det som ett absolut makro.
För att förstå vad detta betyder, undersök den underliggande koden genom att välja Makron på fliken Utvecklare. Dialogrutan Makro visas.

Dialogrutan Excel-makro.
Välj makrot AddTotal och klicka på knappen Redigera. Visual Basic Editor öppnar och visar koden som skrevs när du spelade in ditt makro:
Sub AddTotal()
Range("A16"). Välj
ActiveCell.FormulaR1C1 = "Totalt"
Range("D16"). Välj
ActiveCell.FormulaR1C1 = "=COUNTA(R[-14]C:R[-1]C)"
Avsluta Sub
Var särskilt uppmärksam på de två kodraderna som väljer intervall A16 och intervall D16. Eftersom makrot spelades in i absolut referensläge tolkade Excel ditt urval av intervall som absoluta cellreferenser. Med andra ord, oavsett var markören är i din arbetsbok, när du kör det inspelade makrot, väljer Excel cell A16 och sedan cell D16. I nästa avsnitt tar du en titt på hur samma makro ser ut när det spelas in i relativt referensläge.