Makra programu Excel - konfigurowanie makra

Możesz zarejestrować makro i zapisać je pod nazwą Auto_Open, aby uruchamiać je za każdym razem, gdy otwierasz skoroszyt zawierający to makro.

Możesz również napisać kod VBA w tym samym celu ze zdarzeniem Open skoroszytu. Zdarzenie Open uruchamia kod w procedurze podrzędnej Workbook_Open () za każdym razem, gdy otwierasz skoroszyt.

Rejestrowanie makra Auto_Open

Możesz nagrać makro Auto_Run w następujący sposób -

  • Kliknij kartę WIDOK na Wstążce.
  • Kliknij Makra.
  • Kliknij Record Macro. Pojawi się okno dialogowe Record Macro.
  • Wpisz Auto_Run jako nazwę makra.
  • Wpisz opis i kliknij OK.
  • Rozpocznij nagrywanie makra.
  • Zatrzymaj nagrywanie.
  • Zapisz skoroszyt jako skoroszyt z włączoną obsługą makr.
  • Zamknij skoroszyt.
  • Otwórz skoroszyt. Makro Auto_Run uruchomi się automatycznie.

Jeśli chcesz, aby program Excel był uruchamiany bez uruchamiania makra Auto_Open, przytrzymaj klawisz SHIFT podczas uruchamiania programu Excel.

Ograniczenia Auto_Open Macro

Poniżej przedstawiono ograniczenia makra Auto_Open -

  • Jeśli skoroszyt, w którym zapisano makro Auto_Open, zawiera kod zdarzenia Open skoroszytu, kod zdarzenia Open zastąpi akcje w makrze Auto_Open.

  • Makro Auto_Open jest ignorowane, gdy skoroszyt jest otwierany przez uruchomienie kodu korzystającego z metody Open.

  • Makro Auto_Open jest uruchamiane przed otwarciem jakichkolwiek innych skoroszytów. W związku z tym, jeśli zarejestrujesz akcje, które chcesz wykonać w programie Excel w domyślnym skoroszycie Book1 lub w skoroszycie załadowanym z folderu XLStart, makro Auto_Open zakończy się niepowodzeniem po ponownym uruchomieniu programu Excel, ponieważ makro jest uruchamiane przed otwarciem skoroszytów domyślnych i startowych .

Jeśli napotkasz którekolwiek z tych ograniczeń, zamiast rejestrować makro Auto_Open, musisz napisać kod zdarzenia Open zgodnie z opisem w następnej sekcji.

Kod VBA dla otwartego zdarzenia skoroszytu

Możesz napisać kod, który zostanie wykonany po otwarciu skoroszytu. VBA udostępnia zdarzenie o nazwie open, które zawiera procedurę VBA dotyczącą działań, które należy wykonać podczas otwierania skoroszytu.

Otwórz skoroszyt, w którym zapisałeś makro, które napisałeś dla bezwzględnych odniesień - Report_ProjectXYZ. Po uruchomieniu tego makra nowy arkusz zostanie dodany do skoroszytu, a struktura raportu projektu pojawi się w nowym arkuszu.

Możesz napisać kod makra, który wykona te akcje po otwarciu skoroszytu. Oznacza to, że po otwarciu skoroszytu raportu projektu nowy arkusz ze strukturą raportu będzie gotowy do wprowadzenia szczegółów.

Postępuj zgodnie z poniższą procedurą w edytorze VBA

  • Kliknij dwukrotnie ThisWorkbook w Eksploratorze projektów.

  • W oknie kodu wybierz Skoroszyt z lewej listy rozwijanej i Otwórz z prawej listy rozwijanej. Pojawi się Sub Workbook_Open ().

  • Kliknij opcję Moduły w Eksploratorze projektów.

  • Kliknij dwukrotnie nazwę modułu zawierającego kod makra.

  • Skopiuj kod makra z modułu i wklej go w Sub WorkBook_Open ().

Zapisz skoroszyt z włączoną obsługą makr. Otwórz ponownie. Makro zostanie uruchomione i zostanie wstawiony nowy arkusz ze strukturą raportu.