Sök…


Hur man spelar in en makro

Det enklaste sättet att spela in ett makro är att knappen i det nedre vänstra hörnet av Excel ser ut så här: Börja spela in Marco-knappen

När du klickar på detta får du en popup som ber dig att namnge makroen och bestämma om du vill ha en genvägstangent. Frågar också var du ska lagra makroen och för en beskrivning. Du kan välja vilket namn du vill, inga mellanrum är tillåtna.

Pop upp för att spela in makro

Om du vill ha en genväg tilldelad ditt makro för snabb användning väljer du en bokstav som du kommer ihåg så att du snabbt och enkelt kan använda makroen om och om igen.

Du kan lagra makroen i "Den här arbetsboken", "Ny arbetsbok" eller "Personlig makroarbetsbok." Om du vill att makroet du ska spela in endast ska vara tillgängligt i den aktuella arbetsboken väljer du "Den här arbetsboken." Om du vill att den ska sparas i en helt ny arbetsbok väljer du "Ny arbetsbok." Och om du vill att makroen ska vara tillgänglig för alla arbetsböcker som du öppnar väljer du "Personal Macro Workbook."

Klicka på "Ok" när du har fyllt i det här popup-fönstret.

Utför sedan alla åtgärder du vill upprepa med makroen. När du är klar klickar du på samma knapp för att stoppa inspelningen. Det ser nu ut så här:

Sluta spela in makro

Nu kan du gå till utvecklarfliken och öppna Visual Basic. (eller använd Alt + F11)

Du kommer nu att ha en ny modul under mappen Moduler. Nya moduler

Den senaste modulen kommer att innehålla den makro du just spelade in. Dubbelklicka på den för att ta upp den.

Jag gjorde en enkel kopia och klistra in:

Sub Macro1()
'
' Macro1 Macro
'

'
    Selection.Copy
    Range("A12").Select
    ActiveSheet.Paste
End Sub

Om du inte vill att den alltid ska klistra in i "A12" kan du använda Relativa referenser genom att kryssa i rutan "Använd relativa referenser" på fliken Utvecklare: Relativa referenser

Genom att följa samma steg som tidigare kommer nu makroen att göras till detta:

Sub Macro2()
'
' Macro2 Macro
'

'
    Selection.Copy
    ActiveCell.Offset(11, 0).Range("A1").Select
    ActiveSheet.Paste
End Sub

Kopierar fortfarande värdet från "A1" till en cell 11-rader nedåt, men nu kan du utföra samma makro med vilken startcell som helst och värdet från den cellen kommer att kopieras till cellen 11-raderna nedåt.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow