Video: VideoExcel - How to record a macro in Excel 2010 2024
Excel's standardoptagelsestilstand er absolut reference. Når en cellereference i en formel er en absolut reference , justeres den ikke automatisk, når formlen er indsat til en ny placering.
Den bedste måde at forstå, hvordan dette koncept gælder for makroer, er at prøve det. Optag en makro, der tæller rækkerne i et regneark. (Se figuren for et eksempel.)
Du kan finde det stikprøve datasæt, der bruges her online.
Følg disse trin for at registrere makroen:
-
Sørg for, at celle A1 er valgt.
-
Vælg Record Macro på fanen Udvikler.
-
Navngiv makro AddTotal.
-
Vælg denne arbejdsbog til gemsted.
-
Klik på OK for at starte optagelsen.
På dette tidspunkt optager Excel dine handlinger.
-
Mens Excel optager, skal du vælge celle A16 og skrive Total i cellen.
-
Vælg den første tomme celle i kolonne D (D16) og skriv = COUNTA (D2: D15).
Denne formel giver et antal grennumre nederst i kolonne D. Du bruger COUNTA-funktionen, fordi grennumre er gemt som tekst.
-
Klik på Stop optagelse på fanen Udvikler for at stoppe optagelsen af makroen.
Det formaterede regneark skal ligne noget som det her vist.
Hvis du vil se din makro i aktion, skal du slette den samlede række, du lige har tilføjet og afspil din makro ved at følge disse trin:
-
Vælg Makroer på fanen Udvikler.
-
Find og vælg den AddTotal-makro, du lige har registreret.
-
Klik på knappen Kør.
Hvis alt går godt, afspiller makroen dine handlinger til en T og giver dit bord et samlet beløb. Nu er her sagen. Uanset hvor svært du prøver, kan du ikke gøre AddTotal-makroarbejdet på den anden tabel. Hvorfor? Fordi du optog det som en absolut makro.
For at forstå, hvad det betyder, skal du undersøge den underliggende kode ved at vælge Makroer på fanen Udvikler. Makro-dialogboksen vises.
Excel Macro-dialogboksen.Vælg AddTotal-makroen og klik på knappen Rediger. Visual Basic Editor åbner og viser koden, der blev skrevet, da du registrerede din makro:
Sub AddTotal () Range ("A16"). Vælg ActiveCell. FormulaR1C1 = "Total" Range ("D16"). Vælg ActiveCell. FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C)" End Sub
Pas særlig på de to linjer kode, der vælger område A16 og område D16. Da makroen blev optaget i absolut referencefunktion, fortolker Excel dit intervalvalg som absolutte cellereferencer. Med andre ord, uanset hvor din markør er i din projektmappe, når du kører den optagne makro, vælger Excel celle A16 og derefter celle D16.I det næste afsnit ser du, hvordan den samme makro ligner, når den er optaget i relativ reference-tilstand.