excel-vba
Jak nagrać makro
Szukaj…
Jak nagrać makro
Najłatwiejszym sposobem zarejestrowania makra jest przycisk w lewym dolnym rogu programu Excel:
Po kliknięciu tego pojawi się wyskakujące okienko z prośbą o nazwę Makra i decyzję, czy chcesz mieć klawisz skrótu. Pyta również, gdzie przechowywać makro i opis. Możesz wybrać dowolną nazwę, bez spacji.
Jeśli chcesz przypisać skrót do makra w celu szybkiego użycia, wybierz literę, którą zapamiętasz, aby móc szybko i łatwo używać makra w kółko.
Makro można przechowywać w „Skoroszycie”, „Nowym skoroszycie” lub „Skoroszycie makr osobistych”. Jeśli chcesz, aby makro, które zamierzasz nagrywać, było dostępne tylko w bieżącym skoroszycie, wybierz „Ten skoroszyt”. Jeśli chcesz zapisać go w nowym skoroszycie, wybierz „Nowy skoroszyt”. Jeśli chcesz, aby makro było dostępne dla każdego otwieranego skoroszytu, wybierz „Skoroszyt makr osobistych”.
Po wypełnieniu tego okna podręcznego kliknij „OK”.
Następnie wykonaj czynności, które chcesz powtórzyć z makrem. Po zakończeniu kliknij ten sam przycisk, aby zatrzymać nagrywanie. Teraz wygląda to tak:
Teraz możesz przejść do karty Deweloper i otworzyć Visual Basic. (lub użyj Alt + F11)
Będziesz teraz mieć nowy moduł w folderze Modules.
Najnowszy moduł będzie zawierał właśnie zarejestrowane makro. Kliknij go dwukrotnie, aby go wyświetlić.
Zrobiłem prostą kopię i wklej:
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A12").Select
ActiveSheet.Paste
End Sub
Jeśli nie chcesz, aby zawsze wklejało się w „A12”, możesz użyć Odniesień względnych, zaznaczając pole „Użyj odniesień względnych” na karcie Deweloper:
Wykonanie tych samych kroków, co poprzednio, spowoduje teraz przekształcenie makra w to:
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.Copy
ActiveCell.Offset(11, 0).Range("A1").Select
ActiveSheet.Paste
End Sub
Wciąż kopiuję wartość z „A1” do komórki 11 rzędów w dół, ale teraz możesz wykonać to samo makro z dowolną komórką początkową, a wartość z tej komórki zostanie skopiowana do komórki 11 rzędów w dół.