Excel VBA makro tutorial dla początkujących z przykładami

  • Udostępnij To
Michael Brown

Ten samouczek ustawi Cię na drodze do nauki makr w Excelu. Dowiesz się, jak nagrać makro i wstawić kod VBA do Excela, skopiować makra z jednego skoroszytu do drugiego, włączyć i wyłączyć je, podejrzeć kod, wprowadzić zmiany i wiele więcej.

Dla początkujących w Excelu koncepcja makr często wydaje się nie do pokonania. Rzeczywiście, opanowanie VBA może wymagać miesięcy, a nawet lat szkolenia. Nie oznacza to jednak, że nie możesz od razu skorzystać z mocy automatyzacji makr Excela. Nawet jeśli jesteś kompletnym nowicjuszem w programowaniu VBA, możesz łatwo nagrać makro, aby zautomatyzować niektóre z powtarzalnych zadań.

Ten artykuł jest punktem wyjścia do fascynującego świata makr w Excelu. Obejmuje on istotne podstawy, które trzeba znać, aby zacząć i zawiera linki do powiązanych z nimi dogłębnych samouczków.

    Czym są makra w programie Excel?

    Makro w Excelu to zestaw poleceń lub instrukcji przechowywanych w skoroszycie w postaci kodu VBA. Można o nim myśleć jak o małym programie wykonującym predefiniowaną sekwencję działań. Raz utworzone makra można w każdej chwili wykorzystać ponownie. Uruchomienie makra powoduje wykonanie zawartych w nim poleceń.

    Zazwyczaj makra są używane do automatyzacji powtarzających się zadań i codziennych czynności. Wykwalifikowani programiści VBA mogą pisać naprawdę zaawansowane makra, które wykraczają daleko poza redukcję liczby naciśnięć klawiszy.

    Dość często można usłyszeć, że ludzie określają "makro" jako "VBA". Z technicznego punktu widzenia istnieje rozróżnienie: makro jest fragmentem kodu, natomiast Visual Basic for Applications (VBA) jest językiem programowania stworzonym przez Microsoft do pisania makr.

    Dlaczego warto korzystać z makr w Excelu?

    Głównym celem makr jest wykonanie większej ilości pracy w krótszym czasie. Tak jak używasz formuł do obliczania liczb i manipulowania ciągami tekstowymi, możesz użyć makr do automatycznego wykonywania częstych zadań.

    Powiedzmy, że masz stworzyć tygodniowy raport dla swojego przełożonego. W tym celu importujesz różne dane analityczne z kilku lub kilkunastu zewnętrznych zasobów. Problem polega na tym, że te dane są niechlujne, zbędne lub nie są w formacie zrozumiałym dla Excela. Oznacza to, że musisz przeformatować daty i liczby, przyciąć dodatkowe spacje i usunąć puste miejsca, skopiować i wkleić informacje do odpowiednich kolumn,budować wykresy do wizualizacji trendów i robić wiele innych rzeczy, aby raport był przejrzysty i przyjazny dla użytkownika. Teraz wyobraź sobie, że wszystkie te operacje mogą być wykonane dla Ciebie natychmiast po kliknięciu myszką!

    Oczywiście, zbudowanie złożonego makra wymaga czasu. Czasami może to zająć nawet więcej czasu niż wykonanie tych samych manipulacji ręcznie. Ale tworzenie makra to jednorazowa konfiguracja. Raz napisany, debugowany i przetestowany kod VBA wykona zadanie szybko i bezbłędnie, minimalizując ludzkie błędy i kosztowne pomyłki.

    Jak stworzyć makro w programie Excel

    Istnieją dwa sposoby tworzenia makr w Excelu - za pomocą rejestratora makr i edytora Visual Basic.

    Wskazówka. W programie Excel większość operacji z makrami wykonuje się za pomocą Deweloper zakładka, więc pamiętaj, aby dodać zakładkę Deweloper do swojej wstążki Excela.

    Nagrywanie makra

    Nawet jeśli nie wiesz nic o programowaniu w ogóle, a o VBA w szczególności, możesz łatwo zautomatyzować część swojej pracy po prostu pozwalając Excelowi rejestrować swoje działania jako makro. Podczas gdy Ty wykonujesz czynności, Excel uważnie obserwuje i zapisuje Twoje kliknięcia myszką i naciśnięcia klawiszy w języku VBA.

    Rejestrator makr przechwytuje niemal wszystko, co robisz, i tworzy bardzo szczegółowy (często zbędny) kod. Po zatrzymaniu nagrywania i zapisaniu makra możesz przejrzeć jego kod w edytorze Visual Basic i wprowadzić drobne zmiany. Gdy uruchomisz makro, Excel wraca do nagranego kodu VBA i wykonuje dokładnie te same ruchy.

    Aby rozpocząć nagrywanie, kliknij przycisk Zapis Makro na przycisku Deweloper zakładka lub Status bar.

    Szczegółowe informacje znajdziesz w rozdziale Jak nagrać makro w Excelu.

    Pisanie makra w edytorze Visual Basic

    Edytor Visual Basic for Applications (VBA) to miejsce, w którym Microsoft Excel przechowuje kod wszystkich makr, zarówno nagranych, jak i napisanych ręcznie.

    W edytorze VBA można nie tylko zaprogramować sekwencję działań, ale także tworzyć własne funkcje, wyświetlać własne okna dialogowe, oceniać różne warunki, a przede wszystkim kodować logikę! Oczywiście stworzenie własnego makra wymaga pewnej znajomości struktury i składni języka VBA, co wykracza poza zakres tego samouczka dla początkujących.Nie ma jednak nic, co byuniemożliwić ponowne wykorzystanie cudzego kodu (powiedzmy, że tego, który znalazłeś na naszym blogu :) i nawet kompletny nowicjusz w Excelu VBA nie powinien mieć z tym trudności!

    Najpierw naciśnij Alt + F11, aby otworzyć edytor Visual Basic. A następnie wstaw kod w tych dwóch szybkich krokach:

    1. W Eksploratorze projektu po lewej stronie kliknij prawym przyciskiem myszy docelowy skoroszyt, a następnie kliknij Wkładka > Moduł .
    2. W oknie Code po prawej stronie wklejamy kod VBA.

    Po zakończeniu naciśnij F5, aby uruchomić makro.

    Szczegółowe kroki znajdziesz na stronie Jak wstawić kod VBA w Excelu.

    Jak uruchomić makra w programie Excel

    Istnieje kilka sposobów na uruchomienie makra w Excelu:

    • Aby uruchomić makro z arkusza, należy kliknąć przycisk Makra przycisk na Deweloper lub naciśnij skrót Alt + F8.
    • Aby uruchomić makro z poziomu Edytora VBA, naciśnij albo:
      • F5, aby uruchomić cały kod.
      • F8, aby przejść przez kod linia po linii. Jest to bardzo przydatne do testowania i rozwiązywania problemów.

    Dodatkowo możesz uruchomić makro, klikając niestandardowy przycisk lub naciskając przypisany skrót. Pełne informacje na ten temat znajdziesz w rozdziale Jak uruchamiać makra w Excelu.

    Jak włączyć makra w programie Excel

    Ze względów bezpieczeństwa wszystkie makra w Excelu są domyślnie wyłączone. Aby więc wykorzystać magię kodów VBA na swoją korzyść, musisz wiedzieć, jak je włączyć.

    Najprostszym sposobem włączenia makr dla konkretnego skoroszytu jest kliknięcie przycisku Włącz zawartość w żółtym pasku ostrzegawczym zabezpieczeń, który pojawia się u góry arkusza przy pierwszym otwarciu skoroszytu z makrami.

    Aby dowiedzieć się więcej o zabezpieczeniach makr, zobacz Jak włączyć i wyłączyć makra w programie Excel.

    Jak zmienić ustawienia makr

    Program Microsoft Excel decyduje o dopuszczeniu lub niedopuszczeniu do wykonywania kodów VBA w skoroszytach na podstawie ustawienia makr wybranego w oknie dialogowym. Centrum zaufania .

    Oto kroki, aby uzyskać dostęp do ustawień makr Excela i zmienić je w razie potrzeby:

    1. Idź do Plik zakładka i wybrać Opcje .
    2. W okienku po lewej stronie wybierz Centrum zaufania , a następnie kliknij Ustawienia Trust Center... .
    3. W Centrum zaufania okna dialogowego, kliknij Ustawienia makro po lewej stronie, wybierz żądaną opcję i kliknij OK .

    Na poniższym zrzucie ekranu wybrano domyślne ustawienie makra:

    Więcej informacji znajdziesz w rozdziale Ustawienia makr w Excelu wyjaśnione.

    Jak przeglądać, edytować i usuwać błędy w kodach VBA w programie Excel

    Wszelkie zmiany w kodzie makra, niezależnie od tego, czy zostało ono wygenerowane automatycznie przez rejestrator makr Excela, czy też napisane przez Ciebie, dokonywane są w edytorze Visual Basic.

    Aby otworzyć edytor VB, naciśnij Alt + F11 lub kliknij przycisk Visual Basic przycisk na Deweloper tab.

    Do przeglądać i edytować kod konkretnego makra, w Projekt Eksplorator po lewej stronie, kliknij dwukrotnie na moduł, który go zawiera, lub kliknij prawym przyciskiem myszy na moduł i wybierz Wyświetl kod . Otwiera to okno Kod, w którym można edytować kod.

    Do testować i debugować W tym celu należy użyć klawisza F8. W ten sposób kod makra zostanie przeanalizowany linia po linii, dzięki czemu będzie można zobaczyć wpływ każdej linii na arkusz. Aktualnie wykonywana linia jest podświetlona na żółto. Aby wyjść z trybu debugowania, należy kliknąć przycisk Reset na pasku narzędzi (niebieski kwadrat).

    Jak skopiować makro do innego skoroszytu

    Stworzyłeś makro w jednym skoroszycie i teraz chcesz je ponownie wykorzystać również w innych plikach? Istnieją dwa sposoby na skopiowanie makra w Excelu:

    Skopiuj moduł zawierający makro

    W przypadku, gdy docelowe makro znajduje się w osobnym module lub wszystkie makra w tym module są dla Ciebie przydatne, wtedy sensowne jest skopiowanie całego modułu z jednego skoroszytu do drugiego:

    1. Otwórz oba skoroszyty - ten, który zawiera makro i ten, w którym chcesz je skopiować.
    2. Otwórz edytor Visual Basic.
    3. W okienku Project Explorer znajdź moduł zawierający makro i przeciągnij go do docelowego skoroszytu.

    Na poniższym zrzucie ekranu, kopiujemy Moduł1 z Księga1 do Księga2 :

    Skopiuj kod źródłowy makra

    Jeśli moduł zawiera wiele różnych makr, podczas gdy Ty potrzebujesz tylko jednego, to skopiuj tylko kod tego konkretnego makra.Oto jak:

    1. Otwórz oba skoroszyty.
    2. Otwórz edytor Visual Basic.
    3. W oknie Project Explorer kliknij dwukrotnie moduł zawierający makro, które chcesz skopiować, aby otworzyć jego okno Code.
    4. W oknie Code znajdź docelowe makro, zaznacz jego kod (zaczynający się od Sub i kończąc na End Sub ) i naciśnij Ctrl + C, aby go skopiować.
    5. W Eksploratorze projektu znajdź docelowy skoroszyt, a następnie albo wstaw do niego nowy moduł (kliknij prawym przyciskiem myszy skoroszyt i kliknij Wkładka > Moduł ) lub kliknij dwukrotnie istniejący moduł, aby otworzyć jego okno Code.
    6. W oknie Kod modułu docelowego naciśnij Ctrl + V, aby wkleić kod. Jeśli moduł zawiera już jakiś kod, przewiń w dół do ostatniej linii kodu, a następnie wklej skopiowane makro.

    Jak usunąć makra w programie Excel

    Jeśli nie potrzebujesz już danego kodu VBA, możesz go usunąć za pomocą Makro okna dialogowego lub edytora Visual Basic.

    Usuwanie makra z skoroszytu

    Aby usunąć makro bezpośrednio z skoroszytu programu Excel, wykonaj następujące czynności:

    1. Na Deweloper zakładka, w Kod grupę, kliknij przycisk Makra lub naciśnij skrót Alt + F8.
    2. W Makro W oknie dialogowym wybierz makro, które chcesz usunąć i kliknij Usuń .

    Wskazówki:

    • Aby wyświetlić wszystkie makra we wszystkich otwartych plikach, wybierz Wszystkie otwarte skoroszyty od Makra w lista rozwijana.
    • Aby móc usunąć makro z Osobistego skoroszytu makr, należy najpierw odhaczyć Personal.xlsb.

    Usuwanie makra za pomocą edytora Visual Basic

    Zaletą korzystania z Edytora VBA jest to, że umożliwia on usunięcie całego modułu wraz ze wszystkimi zawartymi w nim makrami za jednym zamachem. Ponadto Edytor VBA umożliwia usunięcie makr w Osobistym skoroszycie z makrami bez konieczności jego ukrywania.

    Na stałe usuwanie modułu , wykonaj następujące czynności:

    1. W Projekt Eksplorator , kliknij prawym przyciskiem myszy na moduł i wybierz Usuń z menu kontekstowego.
    2. Na pytanie, czy chcesz wyeksportować moduł przed jego usunięciem, kliknij Nie .

    Do usunąć określone makro można po prostu usunąć jego kod źródłowy bezpośrednio w oknie Code. Można też usunąć makro za pomocą polecenia Narzędzia menu Edytora VBA:

    1. Z. Narzędzia menu, wybrać Makra . Makra Pojawi się okno dialogowe.
    2. W Makra W z listy rozwijanej wybierz projekt zawierający niechciane makro.
    3. W Nazwa makra wybierz makro.
    4. Kliknij przycisk Usuń przycisk.

    Jak zapisać makra w programie Excel

    Aby zapisać makro w Excelu, nagrane lub napisane ręcznie, wystarczy zapisać skoroszyt jako włączone makro (*.xlms).Oto jak:

    1. W pliku zawierającym makro, kliknij przycisk Zapisz lub naciśnij Ctrl + S .
    2. Na stronie Zapisz jako Pojawi się okno dialogowe. Wybierz skoroszyt programu Excel z włączonymi makrami (*.xlsm) od Zapisz jako typ z listy rozwijanej i kliknij Zapisz :

    Jak eksportować i importować makra w programie Excel

    Jeśli chciałbyś podzielić się z kimś swoimi kodami VBA lub przenieść je na inny komputer, najszybszym sposobem jest wyeksportowanie całego modułu jako pliku .bas.

    Eksportowanie makr

    Aby wyeksportować swoje kody VBA, oto co musisz zrobić:

    1. Otwórz skoroszyt zawierający makra.
    2. Naciśnij Alt + F11, aby otworzyć edytor Visual Basic.
    3. W eksploratorze projektu kliknij prawym przyciskiem myszy moduł zawierający makra i wybierz Plik eksportowy .
    4. Przejdź do folderu, w którym chcesz zapisać wyeksportowany plik, nadaj mu nazwę i kliknij Zapisz .

    Importowanie makr

    Aby zaimportować plik .bas z kodami VBA do swojego Excela, wykonaj poniższe kroki:

    1. Otwórz skoroszyt, do którego chcesz zaimportować makra.
    2. Otwórz edytor Visual Basic.
    3. W eksploratorze projektów kliknij prawym przyciskiem myszy nazwę projektu i wybierz Importuj plik .
    4. Przejdź do pliku .bas i kliknij Otwórz .

    Przykłady makr w Excelu

    Jednym z najlepszych sposobów na naukę Excela VBA jest zapoznanie się z próbkami kodu. Poniżej znajdziesz przykłady bardzo prostych kodów VBA, które automatyzują kilka podstawowych operacji. Oczywiście, te przykłady nie nauczą Cię kodowania, w tym celu istnieją setki profesjonalnych samouczków VBA. Naszym celem jest jedynie zilustrowanie kilku typowych cech VBA, które, miejmy nadzieję, przybliżą Ci jego filozofię.ty.

    Ukryj wszystkie arkusze w skoroszycie

    W tym przykładzie używamy ActiveWorkbook aby zwrócić aktualnie aktywny skoroszyt i Dla każdego Pętla przechodzi przez wszystkie arkusze w skoroszycie jeden po drugim. Dla każdego znalezionego arkusza ustawiamy wartość Widoczny nieruchomość do xlSheetVisible .

    Sub Unhide_All_Sheets() Dim wks As Worksheet For Each wks In ActiveWorkbook.Worksheets wks.Visible = xlSheetVisible Next wks End Sub

    Ukryj aktywny arkusz lub uczyń go bardzo ukrytym

    Aby manipulować aktualnie aktywnym arkuszem, należy użyć ActiveSheet To przykładowe makro zmienia obiekt Widoczny właściwość aktywnego arkusza do xlSheetHidden Aby arkusz był bardzo ukryty, należy ustawić Widoczny nieruchomość do xlSheetVeryHidden .

    Sub Hide_Active_Sheet() ActiveSheet.Visible = xlSheetHidden End Sub

    Usuń wszystkie scalone komórki z wybranego zakresu

    Jeśli chcesz wykonać pewne operacje na zakresie, a nie na całym arkuszu, użyj Wybór Na przykład, poniższy kod usunie za jednym zamachem wszystkie scalone komórki w wybranym zakresie.

    Sub Unmerge_Cells() Selection.Cells.UnMerge End Sub

    Pokaż okno wiadomości

    Aby pokazać jakąś wiadomość swoim użytkownikom, użyj MsgBox Funkcja. Oto przykład takiego makra w najprostszej postaci:

    Sub Show_Message() MsgBox ( "Hello World!") End Sub

    W rzeczywistych makrach okno komunikatu jest zwykle używane w celach informacyjnych lub potwierdzających, np. przed wykonaniem jakiejś czynności (w naszym przypadku rozłączenia komórek) wyświetlane jest okno Tak/Nie Jeśli użytkownik kliknie "Tak", wybrane komórki zostaną odłączone.

    Sub Unmerge_Selected_Cells() Dim Answer As String Answer = MsgBox( "Czy na pewno chcesz rozłączyć te komórki?" , vbQuestion + vbYesNo, "Unmerge Cells" ) If Answer = vbYes Then Selection.Cells.UnMerge End If End Sub

    Aby przetestować kod, wybierz jeden lub więcej zakresów zawierających scalone komórki i uruchom makro. Pojawi się następujący komunikat:

    Poniżej znajdują się linki do bardziej złożonych makr, które automatyzują trudne i czasochłonne zadania:

    • Makro do kopiowania arkuszy z wielu skoroszytów do jednego
    • Makra do powielania arkuszy w Excelu
    • Makra do alfabetyzacji zakładek w Excelu
    • Makro do odbezpieczania arkusza bez hasła
    • Makro do liczenia i sumowania warunkowo pokolorowanych komórek
    • Makro do konwersji liczb na słowa
    • Makro do ukrywania wszystkich arkuszy oprócz aktywnego arkusza
    • Makra do odznaczania arkuszy
    • Makro do odsłonięcia wszystkich kolumn
    • Makra, które sprawiają, że arkusze są bardzo ukryte
    • Makro usuwające wszystkie podziały wierszy w aktywnym arkuszu
    • Makra do usuwania pustych wierszy
    • Makro do usuwania co drugiego wiersza
    • Makro do usuwania pustych kolumn
    • Makro do wstawiania co drugiej kolumny
    • Makra do sprawdzania pisowni w Excelu
    • Makro do transpozycji kolumn do wierszy
    • Makro do odwracania kolumn w Excelu
    • Makra do ustawiania obszaru wydruku
    • Makra do wstawiania podziałów stron

    Jak chronić makra w programie Excel

    Jeśli chcesz, aby Twoje makro nie było oglądane, modyfikowane lub wykonywane przez inne osoby, możesz zabezpieczyć je hasłem.

    Zablokuj makro do podglądu

    Aby chronić swoje kody VBA przed nieautoryzowanym przeglądaniem i edycją, wykonaj następujące czynności:

    1. Otwórz edytor VBA.
    2. W eksploratorze projektów kliknij prawym przyciskiem myszy projekt, który chcesz zablokować, i wybierz VBAProject Właściwości...
    3. W Właściwości projektu w oknie dialogowym, na Ochrona zakładka, sprawdź Zablokuj projekt do wglądu wpisać dwukrotnie hasło i kliknąć OK .
    4. Zapisz, zamknij i ponownie otwórz swój plik Excela.

    Przy próbie wyświetlenia kodu w edytorze Visual Basic pojawi się następujące okno dialogowe Wpisz hasło i kliknij OK.

    Do odblokować makra , wystarczy otworzyć Właściwości projektu ponownie i usuń zaznaczenie z okna dialogowego Zablokuj projekt do wglądu pudełko.

    Uwaga. Ta metoda chroni kod przed przeglądaniem i edycją, ale nie zapobiega jego wykonaniu.

    Zabezpiecz makro hasłem przed uruchomieniem

    Aby zabezpieczyć swoje makro przed wykonaniem, tak aby mogli je uruchomić tylko użytkownicy znający hasło, dodaj następujący kod, zastępując słowo "password" swoim prawdziwym hasłem:

    Sub Password_Protect() Dim password As Variant password = Application.InputBox( "Please enter Password" , "Password Protected Macro" ) Select Case password Case Is = False 'nie rób nic Case Is = "password" 'twój kod tutaj Case Else MsgBox "Incorrect Password" End Select End Sub

    Makro wykorzystuje metodę InputBox Funkcja umożliwiająca wyświetlenie prośby o podanie hasła:

    Jeśli hasło wprowadzone przez użytkownika jest zgodne z hasłem, Twój kod zostanie wykonany. Jeśli hasło nie jest zgodne, wyświetlone zostanie okno komunikatu "Nieprawidłowe hasło". Aby uniemożliwić użytkownikowi podglądanie hasła w edytorze Visual Basic, pamiętaj o zablokowaniu makra do podglądu, jak wyjaśniono powyżej.

    Uwaga. Biorąc pod uwagę liczbę różnych łamaczek haseł dostępnych w sieci, należy zdać sobie sprawę, że ta ochrona nie jest absolutna. Można ją traktować raczej jako zabezpieczenie przed przypadkowym użyciem.

    Porady dotyczące makr w Excelu

    Profesjonaliści VBA w Excelu wymyślili mnóstwo pomysłowych sztuczek, aby uczynić swoje makra bardziej efektywnymi. Poniżej podzielę się kilkoma moimi ulubionymi.

      Jeśli Twój kod VBA aktywnie manipuluje zawartością komórek, możesz przyspieszyć jego wykonanie, wyłączając odświeżanie ekranu i przeliczanie formuły. Po wykonaniu Twojego kodu włącz to ponownie.

      Następujące linie należy dodać do początku kodu (po liniach zaczynających się od Dim lub po Sub linia):

      Application.ScreenUpdating = False Application.Calculation = xlCalculationManual

      Następujące linie powinny być dodane na końcu twojego kodu (przed End Sub ):

      Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic

      Jak rozbić kod VBA na wiele linii

      Podczas pisania kodu w edytorze VBA, czasami możesz tworzyć bardzo długie stwierdzenia, przez co musisz przewijać w poziomie, aby zobaczyć koniec linii. Nie wpływa to na wykonanie kodu, ale utrudnia jego badanie.

      Aby podzielić długą wypowiedź na kilka wierszy, wpisz znak przestrzeń po którym następuje podkreślenie (_) w miejscu, w którym chcemy złamać linię. W VBA nazywa się to znakiem znak kontynuacji linii .

      Aby poprawnie kontynuować kod w kolejnej linii, należy przestrzegać poniższych zasad:

      • Nie rozdzielaj kodu w środku nazw argumentów.
      • Nie używaj podkreślenia do przerywania komentarzy. W przypadku komentarzy wielowierszowych, wpisz apostrof (') na początku każdego wiersza.
      • Podkreślenie musi być ostatnim znakiem w linii, po którym nie następuje nic innego.

      Poniższy przykład kodu pokazuje, jak rozbić oświadczenie na dwie linie:

      Odpowiedź = MsgBox( "Czy na pewno chcesz rozłączyć te komórki?" , _ vbPytanie + vbYesNo, "Rozłącz komórki" )

      Jak sprawić, aby makro było dostępne z dowolnego skoroszytu

      Kiedy piszesz lub nagrywasz makro w Excelu, zazwyczaj dostęp do niego jest możliwy tylko z tego konkretnego skoroszytu. Jeśli chcesz ponownie wykorzystać ten sam kod w innych skoroszytach, zapisz go w osobistym skoroszycie makr. Dzięki temu makro będzie dostępne dla Ciebie przy każdym otwarciu Excela.

      Jedyną przeszkodą jest to, że Osobisty skoroszyt makr nie istnieje w Excelu domyślnie. Aby go utworzyć, trzeba będzie nagrać przynajmniej jedno makro. Poniższy samouczek zawiera wszystkie szczegóły: Osobisty skoroszyt makr w Excelu

      Jak cofnąć działanie makra

      Po wykonaniu makra nie można cofnąć jego działania poprzez naciśnięcie klawiszy Ctrl + Z ani kliknięcie przycisku Undo przycisk.

      Doświadczeni programiści VBA mogą oczywiście zatwierdzić wartości wejściowe i/lub warunki początkowe przed zezwoleniem makru na dokonanie jakichkolwiek zmian w arkuszu, ale w większości przypadków jest to dość skomplikowane.

      Łatwiejszym sposobem jest zapisanie aktywnego skoroszytu z poziomu kodu makra. W tym celu wystarczy dodać poniższą linię, zanim makro zrobi cokolwiek innego:

      ActiveWorkbook.Save

      Opcjonalnie można również wyświetlić okno komunikatu informujące użytkownika, że bieżący skoroszyt został zapisany tuż przed wykonaniem głównego kodu makra.

      W ten sposób, jeśli ty (lub twoi użytkownicy) nie są zadowoleni z wyników, możesz po prostu zamknąć, a następnie ponownie otworzyć skoroszyt.

      Powstrzymanie programu Excel przed wyświetlaniem ostrzeżenia o zabezpieczeniach, gdy w skoroszycie nie ma makr

      Czy kiedykolwiek znalazłeś się w sytuacji, w której Excel ciągle pyta, czy chcesz włączyć makra, podczas gdy na pewno wiesz, że w tym konkretnym skoroszycie nie ma makr?

      Najbardziej prawdopodobną przyczyną jest to, że jakiś kod VBA został dodany, a następnie usunięty, pozostawiając pusty moduł, który wywołuje alert bezpieczeństwa. Aby się go pozbyć, po prostu usuń moduł, zapisz skoroszyt, zamknij i otwórz go ponownie. Jeśli to nie pomoże, wykonaj następujące czynności:

      • Dla ThisWorkbook i dla każdego pojedynczego arkusza otwórz okno Kod, naciśnij Ctrl + A, aby wybrać cały kod i usunąć go (nawet jeśli okno Kod wygląda na puste).
      • Usuń wszystkie formularze UserForms i moduły klas, które zawiera skoroszyt.

      Tak wygląda tworzenie i używanie makr VBA w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się ponownie na naszym blogu za tydzień!

      Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.