Konfiguracja sprzętu i oprogramowania

Znajomość vba i umiejętność tworzenia makr. Jak napisać makro w Excelu w języku programowania VBA

Mało kto wie, że pierwsza wersja popularnego produktu Microsoft Excel pojawił się w 1985 roku. Od tego czasu przeszedł kilka modyfikacji i jest poszukiwany przez miliony użytkowników na całym świecie. Jednocześnie wiele osób pracuje z zaledwie niewielką częścią możliwości tego procesora arkuszy kalkulacyjnych i nawet nie zdaje sobie sprawy, jak umiejętność programowania w Excelu może ułatwić im życie.

Co to jest VBA

Programowanie w Excelu odbywa się przy użyciu języka programowania Visual Basic for Application, który jest oryginalnie wbudowany w najbardziej znany procesor arkuszy kalkulacyjnych od firmy Microsoft.

Eksperci określają jego zalety jako względną łatwość rozwoju. Jak pokazuje praktyka, nawet użytkownicy, którzy nie mają profesjonalnych umiejętności programowania, mogą opanować podstawy VBA. Funkcje VBA obejmują wykonanie skryptu w środowisku aplikacji biurowych.

Wadą programu są problemy związane z kompatybilnością różne wersje. Wynikają one z faktu, że kod programu VBA, do którego się odnosi funkcjonalność, które są obecne w Nowa wersja produkt, ale brakujący w starym. Wadą jest również zbyt duża otwartość kodu na modyfikację przez osobę postronną. Niemniej jednak Microsoft Office, a także IBM Lotus Symphony, umożliwiają użytkownikowi zaszyfrowanie początkowego kodu i ustawienie hasła, aby go wyświetlić.

Obiekty, kolekcje, właściwości i metody

To właśnie te pojęcia muszą zrozumieć osoby, które będą pracować w środowisku VBA. Przede wszystkim musisz zrozumieć, czym jest przedmiot. W programie Excel jest to arkusz, skoroszyt, komórka i zakres. Obiekty te mają specjalną hierarchię, tj. są sobie podporządkowane.

Główną z nich jest Aplikacja, która odpowiada samemu programowi Excel. Następnie przychodzą Skoroszyty, Arkusze, a także Zakres. Na przykład, aby uzyskać dostęp do komórki A1 w określonym arkuszu, musisz określić ścieżkę uwzględniającą hierarchię.

Jeśli chodzi o pojęcie „kolekcja”, to jest to grupa obiektów tej samej klasy, która w zapisie ma postać ChartObjects. Jej poszczególne elementy są również przedmiotami.

Kolejna koncepcja to właściwości. Są niezbędną cechą każdego przedmiotu. Na przykład dla zakresu jest to wartość lub formuła.

Metody to polecenia, które wskazują, co należy zrobić. Pisząc kod w VBA, muszą być oddzielone od obiektu kropką. Na przykład, jak zostanie pokazane później, bardzo często podczas programowania w Excelu używane jest polecenie Cells(1,1).Select. Oznacza to, że musisz wybrać komórkę ze współrzędnymi

Wraz z nim często używany jest Selection.ClearContents. Jego wykonanie oznacza wyczyszczenie zawartości wybranej komórki.

Jak zaczac

Następnie musisz przejść do aplikacji VB, dla której wystarczy użyć kombinacji klawiszy „Alt” i „F11”. Dalej:

  • na pasku menu znajdującym się w górnej części okna kliknij ikonę obok ikony Excel;
  • wybierz polecenie Mudule;
  • zapisać klikając na ikonkę z obrazkiem ;
  • napisz, powiedzmy, szkic kodu.

To wygląda tak:

podprogram()

„Nasz kod

Zwróć uwagę, że wiersz „Nasz kod” zostanie podświetlony innym kolorem (zielonym) Powodem jest apostrof na początku wiersza, który wskazuje, że następuje komentarz.

Teraz możesz napisać dowolny kod i stworzyć dla siebie nowe narzędzie w VBA Excel (zobacz przykłady programów poniżej). Oczywiście dla tych, którzy znają podstawy Visual Basic, będzie to znacznie łatwiejsze. Jednak nawet ci, którzy ich nie mają, w razie potrzeby będą mogli wystarczająco szybko poczuć się komfortowo.

Makra w Excelu

Ta nazwa ukrywa programy napisane w Język wizualny Podstawowe dla aplikacji. Tak więc programowanie w Excelu polega na tworzeniu makr za pomocą właściwy kod. Dzięki tej możliwości arkusz kalkulacyjny Microsoft ewoluuje samoczynnie, dostosowując się do potrzeb konkretnego użytkownika. Teraz, kiedy już wiesz, jak tworzyć moduły do ​​pisania makr, możesz zacząć przyglądać się konkretnym przykładom programów VBA Excel. Najlepiej zacząć od najbardziej podstawowych kodów.

Przykład 1

Zadanie: napisz program, który skopiuje wartość zawartości jednej komórki, a następnie zapisze do drugiej.

Dla tego:

  • otwórz zakładkę „Widok”;
  • przejdź do ikony „Makra”;
  • kliknij „Nagraj makro”;
  • wypełnij formularz otwarty.

Dla uproszczenia pozostaw „Makro1” w polu „Nazwa makra” i wstaw np. hh w polu „Skrót klawiaturowy” (oznacza to, że możesz uruchomić program za pomocą polecenia blitz „Ctrl + h”). Naciśnij enter.

Teraz, gdy nagrywanie makra już się rozpoczęło, zawartość komórki jest kopiowana do innej. Wróć do oryginalnej ikony. Kliknij „Nagraj makro”. Ta akcja oznacza koniec programu.

  • ponownie przejdź do linii „Makra”;
  • wybierz z listy „Makro 1”;
  • kliknij "Uruchom" (ta sama czynność jest wyzwalana przez uruchomienie skrótu klawiaturowego "Ctrl + hh").

W efekcie następuje akcja, która została wykonana podczas rejestrowania makra.

Warto zobaczyć, jak wygląda kod. Aby to zrobić, wróć do wiersza „Makra” i kliknij „Edytuj” lub „Enter”. W rezultacie znajdują się w środowisku VBA. W rzeczywistości sam kod makra znajduje się między wierszami Sub Macro1() i End Sub.

Jeśli wykonano kopiowanie np. z komórki A1 do komórki C1, to jeden z wierszy kodu będzie wyglądał jak Zakres(„C1”).Wybierz. W tłumaczeniu wygląda to jak „Zakres („C1”). Wybierz”, innymi słowy, przeskakuje do VBA Excel, do komórki C1.

Polecenie ActiveSheet.Paste uzupełnia aktywną część kodu. Oznacza to zapisanie zawartości wybranej komórki (w tym przypadku A1) do wybranej komórki C1.

Przykład 2

Pętle VBA pomagają tworzyć różne makra w programie Excel.

Pętle VBA pomagają tworzyć różne makra. Załóżmy, że istnieje funkcja y=x + x 2 + 3x 3 - cos(x). Musisz utworzyć makro, aby uzyskać jego harmonogram. Można to zrobić tylko za pomocą pętli VBA.

Przyjmij x1=0 i x2=10 dla początkowej i końcowej wartości argumentu funkcji. Dodatkowo należy wprowadzić stałą - wartość kroku zmiany argumentu oraz wartość początkową licznika.

Wszystkie przykłady makr Excel VBA są tworzone według tej samej procedury, co powyżej. W tym konkretnym przypadku kod wygląda tak:

podprogram()

krok = 0,1

Rób póki x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Komórki(i, 1)).Wartość = x1 (wartość x1 jest zapisywana do komórki o współrzędnych (i,1))

Cells(i, 2)).Value = y (wartość y jest zapisywana do komórki o współrzędnych (i,2))

i = i + 1 (licznik aktywny);

x1 = x1 + kudły (argument zmienia się o wartość kroku);

napis końcowy.

W wyniku uruchomienia tego makra w Excelu otrzymujemy dwie kolumny, z których pierwsza zawiera wartości dla x, a druga dla y.

Następnie tworzony jest na nich wykres w sposób standardowy dla programu Excel.

Przykład 3

Aby zaimplementować pętle w VBA Excel 2010, podobnie jak w innych wersjach, wraz z już podaną konstrukcją Do While, używany jest For.

Rozważ program, który utworzy kolumnę. W każdej z jego komórek zostaną zapisane kwadraty liczby odpowiedniej linii. Użycie konstrukcji For pozwoli ci napisać ją bardzo krótko, bez użycia licznika.

Najpierw musisz utworzyć makro, jak opisano powyżej. Następnie piszemy sam kod. Wierzymy, że interesują nas wartości na 10 ogniw. Kod wygląda tak.

Dla i = 1 do 10 Dalej

Polecenie tłumaczy się na język „ludzki” jako „Powtórz od 1 do 10 w przyrostach co jeden”.

Jeżeli zadaniem jest uzyskanie kolumny z kwadratami, na przykład wszystkimi liczbami nieparzystymi z zakresu od 1 do 11, to piszemy:

Dla i = 1 do 10 krok 1 Dalej.

Tutaj krok jest krokiem. W tym przypadku jest równy dwóm. Domyślnie brak tego słowa w cyklu oznacza, że ​​krok jest pojedynczy.

Otrzymane wyniki należy zapisać w komórkach o numerze (i,1). Następnie za każdym razem, gdy pętla zostanie uruchomiona, ze wzrostem io wartość kroku, automatycznie wzrośnie również numer wiersza. W ten sposób kod zostanie zoptymalizowany.

Ogólnie kod będzie wyglądał tak:

podprogram()

Dla i = 1 do 10 Krok 1 (możesz napisać po prostu For i = 1 do 10)

Komórki(i, 1)).Wartość = i ^ 2

Dalej (w pewnym sensie działa jak licznik i oznacza jeszcze jeden początek pętli)

napis końcowy.

Jeśli wszystko zostanie wykonane poprawnie, łącznie z nagraniem i uruchomieniem makra (patrz instrukcje powyżej), to przy każdym wywołaniu zostanie uzyskana kolumna podany rozmiar(w tym przypadku składający się z 10 ogniw).

Przykład 4

W życiu codziennym dość często istnieje potrzeba podjęcia takiej lub innej decyzji w zależności od jakiegoś stanu. Nie możesz się bez nich obejść w VBA Excel. Przykłady programów, w których dalszy przebieg algorytmu jest wybrany, a nie z góry określony, najczęściej używa konstrukcji If …Then (dla złożonych przypadków) If …Then …END If.

Rozważmy konkretny przypadek. Załóżmy, że musisz utworzyć makro dla „Excela”, aby komórka ze współrzędnymi (1,1) została zapisana:

1 jeśli argument jest pozytywny;

0 jeśli argument ma wartość null;

-1 jeśli argument jest ujemny.

Rozpoczyna się tworzenie takiego makra dla Excela w standardowy sposób, za pomocą skrótów klawiszowych Alt i F11. Poniższy kod jest zapisywany dalej:

podprogram()

x= Cells(1,1).Value (to polecenie przypisuje x wartość zawartości komórki o współrzędnych (1, 1))

Jeśli x>0, to komórki (1, 1). Wartość = 1

Jeśli x=0, to komórki (1, 1). Wartość = 0

Jeśli x<0 Then Cells(1, 1).Value = -1

napis końcowy.

Pozostaje uruchomić makro i uzyskać żądaną wartość argumentu w programie Excel.

Funkcje VBA

Jak być może zauważyłeś, programowanie w najsłynniejszym arkuszu kalkulacyjnym Microsoftu nie jest takie trudne. Zwłaszcza jeśli nauczysz się korzystać z funkcji VBA. W sumie ten język programowania, stworzony specjalnie do pisania aplikacji w Excelu i Wordzie, ma około 160 funkcji. Można je podzielić na kilka dużych grup. Ten:

  • Funkcje matematyczne. Stosując je do argumentu, otrzymują wartość cosinusa, logarytmu naturalnego, części całkowitej itp.
  • funkcje finansowe. Dzięki ich obecności i wykorzystaniu programowania w Excelu można uzyskać efektywne narzędzia do obliczeń księgowych i finansowych.
  • Funkcje przetwarzania tablic. Należą do nich Array, IsArray; lZwiązany; UBound.
  • Funkcje VBA Excel dla wiersza. To dość duża grupa. Zawiera na przykład funkcje Space, aby utworzyć ciąg znaków z liczbą spacji równą argumentowi typu integer, lub Asc, aby zamienić znaki na kod ANSI. Wszystkie są szeroko stosowane i pozwalają na pracę z wierszami w Excelu, tworząc aplikacje, które znacznie ułatwiają pracę z tymi tabelami.
  • Funkcje konwersji typów danych. Na przykład CVar zwraca wartość argumentu Wyrażenie, konwertując go na typ danych Variant.
  • Funkcje do pracy z datami. Znacznie rozszerzają one standardowe, dlatego funkcja WeekdayName zwraca nazwę (pełną lub częściową) dnia tygodnia po jego numerze. Jeszcze bardziej przydatny jest Timer. Podaje liczbę sekund, które upłynęły od północy do określonego momentu w ciągu dnia.
  • Funkcje konwertowania argumentu liczbowego na różne systemy liczbowe. Na przykład Oct daje ósemkową reprezentację liczby.
  • Funkcje formatowania. Najważniejszym z nich jest Format. Zwraca wartość typu Variant z wyrażeniem sformatowanym zgodnie z instrukcjami podanymi w deklaracji formatu.
  • itp.

Zbadanie właściwości tych funkcji i ich zastosowania znacznie rozszerzy zakres Excela.

Przykład 5

Spróbujmy przejść do rozwiązywania bardziej złożonych problemów. Na przykład:

Wydawany jest papierowy dokument raportu o rzeczywistym poziomie kosztów przedsiębiorstwa. Wymagany:

  • opracować jego część szablonową za pomocą arkusza kalkulacyjnego Excel;
  • utwórz program VBA, który poprosi o wstępne dane, aby go wypełnić, wykonać niezbędne obliczenia i wypełnić nimi odpowiednie komórki szablonu.

Rozważmy jedno z rozwiązań.

Utwórz szablon

Wszystkie czynności wykonywane są na standardowym arkuszu w Excelu. Wolne komórki zarezerwowane są na wpisanie danych dotyczących nazwy firmy konsumenckiej, wysokości kosztów, ich poziomu oraz obrotów. Ponieważ liczba firm (towarzystw), dla których opracowywany jest raport, nie jest ustalona, ​​komórki do wprowadzania wartości na podstawie wyników i pełnego nazwiska specjalisty nie są z góry zarezerwowane. Arkusz roboczy otrzymuje nową nazwę. Na przykład „Օtchet”.

Zmienne

Aby napisać program do automatycznego wypełniania szablonu, musisz wybrać notację. Będą używane dla zmiennych:

  • NN - numer bieżącego wiersza tabeli;
  • TP i TF - planowane i rzeczywiste obroty;
  • SF i SP - rzeczywista i planowana wysokość kosztów;
  • IP i IF - planowany i rzeczywisty poziom kosztów.

Oznaczmy tymi samymi literami, ale z "prefiksem" Itog akumulacja sumy w danej kolumnie. Na przykład ItogTP odnosi się do kolumny tabeli zatytułowanej „planowany obrót”.

Rozwiązywanie problemu za pomocą programowania VBA

Korzystając z wprowadzonej notacji otrzymujemy wzory na odchylenia. Jeśli wymagane jest wykonanie obliczenia w%, mamy (F - P) / P * 100, a w kwocie - (F - P).

Wyniki tych obliczeń najlepiej od razu wprowadzić do odpowiednich komórek arkusza kalkulacyjnego Excel.

Dla sum rzeczywistych i prognozowanych uzyskuje się je ze wzorów ItogP=ItogP + P oraz ItogF=ItogF+ F.

Dla odchyleń należy użyć = (ItogF - ItogP) / ItogP * 100, jeśli obliczenia są prowadzone w procentach, a w przypadku wartości całkowitej - (ItogF - ItogP).

Wyniki są ponownie natychmiast zapisywane do odpowiednich komórek, więc nie ma potrzeby przypisywania ich do zmiennych.

Przed uruchomieniem utworzonego programu należy zapisać skoroszyt np. pod nazwą „Report1.xls”.

Przycisk „Utwórz tabelę raportowania” należy nacisnąć tylko 1 raz po wprowadzeniu informacji nagłówka. Należy pamiętać o innych zasadach. W szczególności przycisk „Dodaj wiersz” należy każdorazowo kliknąć po wpisaniu wartości dla każdej czynności w tabeli. Po wprowadzeniu wszystkich danych należy kliknąć przycisk „Zakończ”, a następnie przejść do okna „Excel”.

Teraz wiesz, jak rozwiązywać problemy w programie Excel za pomocą makr. Umiejętność korzystania z vba excel (patrz przykłady programów powyżej) może być również potrzebna do pracy w środowisku najpopularniejszego na ten moment edytor tekstu „Słowo”. W szczególności można tworzyć przyciski menu pisząc, jak pokazano na samym początku artykułu, lub pisząc kod, dzięki czemu wiele operacji na tekście można wykonać za pomocą klawiszy dyżurnych lub poprzez zakładkę „Widok” oraz ikonę „Makra”.

Obiekty takie jak makra w Excelu pomogą kompetentnie zorganizować proces pracy w Excelu.

Rozważmy bardziej szczegółowo wszystkie funkcje pracy z tymi obiektami w pakiecie oprogramowania MS Office.

Dzięki zastosowaniu makr każda komórka w dokumencie może zostać zautomatyzowana. Wynika to z faktu, że użytkownik rejestruje wszystkie działania w momencie ich tworzenia.

Co to są makra i dlaczego są potrzebne

Możesz pracować z makrami w dowolnym programie MS Office. Przede wszystkim są potrzebne, aby kompetentnie zorganizować pracę użytkownika w programie.

Są niezbędne, aby nie wykonywać tego samego typu zadań i czynności kilkadziesiąt razy.

Ich tworzenie i użytkowanie pozwoli na znaczne zaoszczędzenie czasu i jak największą automatyzację pracy w programie.

Ważny! Dzięki stworzonemu makrze możesz po prostu błyskawicznie wykonać zadanie, a wykonanie go ręcznie zajęłoby dużo czasu.

Jego ciało w rzeczywistości składa się z instrukcji, które mówią programowi, co ma zrobić, jeśli użytkownik wybierze jedno lub drugie.

Pojęcie makra można również spotkać w programie Word, ale w Excelu ma ono kilka zalet:

  • Po pierwsze, łączy wszystkie instrukcje w jeden kompletny skrypt wykonawczy, co pozwala zoptymalizować obciążenie programu i szybciej rozpocząć pracę;
  • Możesz go wywołać za pomocą klawisza na pasku narzędzi lub specjalnej kombinacji klawiszy. Pozwoli to użytkownikowi nie odrywać się od klawiatury podczas pracy;

Tworzenie własnych makr w Excel 2010, 2007, 2013

Rozważmy bardziej szczegółowo przykłady tworzenia w programie Excel 2007, 2013:


  • Otwórz dokument, z którym pracujesz i dla którego chcesz utworzyć makro. Nawiasem mówiąc, każda komórka, na której wykonywana jest akcja, musi zostać opracowana;
  • Wyświetl kartę dewelopera na wstążce. Aby to zrobić, otwórz pozycję menu „Plik” i otwórz opcje, jak pokazano na rysunku;

  • Następnie wybierz dostosowanie wstążki i dodaj okno programisty do listy głównych okien, jak pokazano na poniższym rysunku;

  • Teraz możesz przejść bezpośrednio do tworzenia samego makra użytkownika. Po jej utworzeniu każda komórka zostanie zautomatyzowana – oznacza to, że dowolna komórka w dokumencie użytkownika wykona ten sam typ akcji, który określi użytkownik;
  • Znajdź na karcie dewelopera specjalny klucz do utworzenia. Jego lokalizację pokazano na poniższym rysunku;

  • Kliknij na klucz. Pojawi się okno tworzenia, w którym należy podać nazwę, skrót klawiaturowy, za pomocą którego zostanie on włączony. Możesz również dodać krótki opis działania makra. Należy to zrobić, jeśli masz ich zbyt wiele, aby się nie pomylić;

  • Następnie kliknij „OK”. Okno zostanie zamknięte i rozpocznie się proces nagrywania. Aby zatrzymać nagrywanie, naciśnij odpowiedni klawisz na panelu sterowania;
  • Teraz zacznij wykonywać akcje, które zostaną zapisane w makrze. Każda komórka może być wypełniona określonymi danymi.
    Możesz również pracować tylko z jedną komórką, po nagraniu i włączeniu makra ta sama komórka zostanie nagrana zgodnie z określonym algorytmem;
  • Nie zapomnij nacisnąć przycisku zatrzymania rejestracji danych. Po wykonaniu wszystkich powyższych kroków zostanie on nagrany i zapisany w programie.

Jak włączyć i pracować z makrami w programie Excel

Aby to zrobić, postępuj zgodnie z poniższymi instrukcjami:


  • Na karcie programisty poszukaj przycisku o nazwie „Makra”. Kliknij na to;

  • Wybierz potrzebne makro z listy i kliknij przycisk „Uruchom”;
  • Niezbędne makro można również uruchomić za pomocą skrótu klawiaturowego, który został określony przez użytkownika na początkowym etapie jego tworzenia;
  • Po kliknięciu przycisku wykonaj wszystkie czynności, które zostały wykonane podczas nagrywania, zostaną wykonane ponownie.

Makro najlepiej nadaje się do wielokrotnego kopiowania określonej komórki.

Tworzenie i usuwanie makr

Makra są tworzone przy użyciu języka programowania o nazwie Visual Basic (lub po prostu w skrócie VB).

Jednocześnie proces tworzenia jest tak zautomatyzowany, że może go stworzyć nawet użytkownik, który nigdy nie miał styczności z programowaniem.

Po raz pierwszy technologia tworzenia makr w Excelu została ulepszona i stała się dostępna do użytku przez zwykłych użytkowników w wersji 2007.

Najwygodniej jest je tworzyć w następujących wersjach Worda: 2007, 2010, 2013.

Menu makro

Makro składa się z tak zwanych makro instrukcji. Makroinstrukcje – to zbiór czynności, które musi wykonać w kolejności ustalonej przez użytkownika.

Istnieją różne typy operatorów.

Niektórzy mogą nawet wykonywać te czynności, które są związane z wykonaniem.

Jednocześnie prawie dziewięćdziesiąt procent wszystkich operatorów makr prezentowanych w programie pełni funkcje zwykłych przycisków i ikon na pasku narzędzi programu.

W ten sposób każda komórka wykona swoją pracę.

Najłatwiejszym sposobem rozpoczęcia tworzenia własnego makra niestandardowego jest otwarcie rejestratora.

Proces tworzenia sprowadza się do tego, że użytkownik musi uruchomić narzędzie do nagrywania, a następnie powtórzyć wszystkie kroki, które powinny zostać zautomatyzowane.

Makro przetłumaczy je na język programowania i zapamięta wszystkie polecenia wykonane przez użytkownika.

Aby usunąć makro, postępuj zgodnie z instrukcjami:


  1. Otwórz okno sterowania za pomocą klawisza „Makra” na głównej karcie programisty;
  2. Wybierz żądany obiekt i kliknij przycisk Usuń w prawej części okna;

Aby zautomatyzować powtarzające się zadania w programie Microsoft Excel, możesz szybko nagrać makro. Załóżmy, że masz daty w różnych formatach i chcesz zastosować do nich ten sam format. Można to zrobić za pomocą makra. Możesz zarejestrować makro, które zastosuje żądany format, a następnie uruchomić je w razie potrzeby.

Podczas rejestrowania makra rejestrowane są wszystkie akcje opisane w kodzie języka Visual Basic for Applications (VBA). Te akcje mogą obejmować wprowadzanie tekstu lub liczb, klikanie komórek lub poleceń na wstążce lub menu, formatowanie komórek, wierszy lub kolumn albo importowanie danych z zewnętrznego źródła, takiego jak Microsoft Access. Aplikacja Visual Basic (VBA) to podzbiór zaawansowanego języka programowania Visual Basic, który jest dołączony do większości aplikacji pakietu Office. Chociaż VBA zapewnia możliwość automatyzacji procesów między aplikacjami pakietu Office, nie musisz znać kodu VBA ani programowania programistycznego, jeśli zajdzie taka potrzeba.

Ważne jest, aby wiedzieć, że podczas nagrywania makra rejestrowane jest prawie wszystko, co robisz. Jeśli więc popełnisz błąd, na przykład naciśniesz niewłaściwy przycisk, rejestrator makr zarejestruje tę akcję. W takim przypadku możesz przepisać całą sekwencję lub zmodyfikować kod VBA. Dlatego przed nagraniem procesu należy go dobrze opracować. Im dokładniej napiszesz sekwencję, tym efektywniej będzie działać makro.

Deweloper, który jest domyślnie ukryty, więc musisz go najpierw włączyć. Aby uzyskać więcej informacji, zobacz Pokaż kartę Deweloper.

Nagrywanie makro

Na karcie Deweloper Kliknij Makra aby wyświetlić makra skojarzone ze skoroszytem. Możesz także nacisnąć klawisze ALT+F8. Otworzy się okno dialogowe. Makro.


Uwaga:

Poznaj ustawienia zabezpieczeń makr i ich znaczenie.

Makra można uruchamiać na różne sposoby, np. za pomocą skrótu klawiaturowego, obiektu graficznego, panelu szybki dostęp, przycisk, a nawet podczas otwierania książki.

Za pomocą Edytora Visual Basic można edytować makra dołączone do skoroszytu.

    przypisz makro.

    W terenie Przypisz makro

Dowiedz się, jak włączać i wyłączać makra w plikach pakietu Office.

Naciśnij klawisze ALT+F11.

Praca z pisanym kodem w Edytorze Visual Basic (VBE)

Za pomocą edytora Visual Basic (VBE) można dodawać własne zmienne, struktury kontrolne i inne elementy do nagranego kodu, których rejestrator makr nie obsługuje. Ponieważ rejestrator makr rejestruje prawie każdy krok, który występuje podczas nagrywania, może być również konieczne usunięcie niepotrzebnego kodu. Przeglądanie nagranego kodu to świetny sposób na naukę programowania VBA lub doskonalenie umiejętności.

Przykład modyfikacji nagranego kodu można znaleźć w artykule Pierwsze kroki z VBA w Excelu.

Nagrywanie makro

Przed nagraniem makr warto wiedzieć:

    Makro napisane do działania na zakresie programu Excel będzie działać tylko na komórkach z tego zakresu. Dlatego jeśli dodasz nowy wiersz do zakresu, makro nie będzie do niego stosowane.

    Jeśli potrzebujesz zarejestrować długą sekwencję zadań, zalecamy zamiast tego użycie kilku mniejszych makr.

    Makro może również zawierać zadania inne niż Excel. Proces makr może obejmować inne aplikacje pakietu Office i inne programy obsługujące język Visual Basic for Applications (VBA). Na przykład możesz nagrać makro, które najpierw aktualizuje arkusz kalkulacyjny w programie Excel, a następnie otwiera program Outlook, aby wysłać go pocztą e-mail.

Makra i narzędzia VBA są w zakładce Deweloper, który jest domyślnie ukryty, więc musisz go najpierw włączyć.

    Przejdź do Ustawienia > przewyższać... Pasek narzędzi i > Wstążki.

Aby nagrać makro, postępuj zgodnie z poniższymi instrukcjami.

Praca z makrami nagranymi w Excelu

Na karcie Deweloper Kliknij Makra aby wyświetlić makra skojarzone ze skoroszytem. Otworzy się okno dialogowe. Makro.

Notatka: Makr nie można cofnąć. Przed pierwszym uruchomieniem zarejestrowanego makra zapisz lub utwórz kopię skoroszytu, aby zapobiec niepożądanym zmianom. Jeśli nie jesteś zadowolony z wyników działania makra, możesz zamknąć skoroszyt bez zapisywania go.

Poniżej są Dodatkowe informacje o pracy z makrami w Excelu.

Dowiedz się, jak włączać i wyłączać makra w programie Excel dla komputerów Mac.

Jeśli skoroszyt zawiera makro VBA, którego należy użyć w innym miejscu, ten moduł można skopiować do innego skoroszytu za pomocą Edytor Microsoft Visual Basic.

Przypisywanie makra do obiektu, kształtu lub elementu graficznego

    Na arkuszu kliknij kliknij prawym przyciskiem myszy kliknij obiekt, obraz, kształt lub element, do którego chcesz przypisać istniejące makro, a następnie wybierz polecenie przypisz makro.

    W terenie Przypisz makro wybierz makro, które chcesz przypisać.

Możesz przypisać makro do ikony i dodać je do paska narzędzi szybkiego dostępu lub wstążki.

Możesz przypisać makra do formularzy i Kontrolki ActiveX na arkuszu.

Otwieranie Edytora Visual Basic

Na karcie Deweloper Kliknij Visual Basic lub wybierz Usługa > Makro > Edytor Visual Basic.

Dowiedz się, jak znaleźć pomoc dotyczącą elementów Visual Basic.

Dodatkowe informacje

Zawsze możesz zadać pytanie społeczności technicznej programu Excel , poprosić o pomoc w społeczności Answers , a także zasugerować Nowa cecha lub ulepszenie na stronie

Dziś ponownie przedstawiam wam artykuł Michaiła Konstantinowicza Czerniakowa, który opowie o pracy z makrami.

Podczas pracy z dokumentami programu Excel 2010 możesz w kółko wykonywać te same zadania. Niektóre z nich (takie jak zapisywanie i zamykanie plików) są dość szybkie, inne obejmują szereg czynności, które wymagają trochę czasu i wysiłku. Zamiast wykonywać te same czynności ręcznie za każdym razem, możesz tworzyć MAKRO-SYSTEM, czyli programy automatyzujące wykonanie określonej sekwencji działań.

Zanim zaczniesz tworzyć makro, musisz dokładnie przemyśleć procedurę, którą powinno ono zautomatyzować. O ile nowoczesne komputery charakteryzują się dużą szybkością, dodatkowe kroki praktycznie nie wpływają na wynik, jednak pominięcie niezbędnych kroków będzie wymagało przepisania makra. Po zaplanowaniu wszystkich kroków, które ma wykonać makro, kliknij strzałkę na przycisku Makra w sekcji Makra patka Pogląd Nagrywanie makro. Pojawi się okno dialogowe

Tworzenie makr

1. Wprowadź nazwę makra, na przykład Tabliczka mnożenia w wyznaczonym polu.

2. Dodaj literę „y” do skrótu klawiaturowego.

3. W opisie dodaj tekst „ Tabliczka mnożenia do 100»

4. Kliknij przycisk ok.

5. Teraz możesz wykonać akcje, które chcesz zarejestrować jako makro, na przykład utworzyć tabliczkę mnożenia dla 10.

6. W komórce A2 wprowadź 1, wybierz tę komórkę i przeciągnij ją w dół 9 komórek. Opcjonalnie zaznacz pole wyboru w opcjach autouzupełniania Napełnić.

7. W komórce B1 wpisz 1, wybierz tę komórkę i przeciągnij ją o 9 komórek w prawo. Opcjonalnie zaznacz pole wyboru w opcjach autouzupełniania Napełnić.

8. Wprowadź formułę w komórce B2: =$A2*B$1. Wybierz go i przeciągnij pierwsze 9 komórek w dół, a następnie wybrane kolumny 9 kolumn w prawo. Po zakończeniu kliknij strzałkę przycisku Makra patka Pogląd Zatrzymaj nagrywanie

Podobnie możesz utworzyć inne makra, na przykład, aby wyczyścić arkusz:

Usunąć w sekcji komórki patka Pogląd, a następnie kliknij polecenie Nagrywanie makro.

2. Wprowadź nazwę makra, na przykład czyszczenie w przewidzianym do tego polu i dodaj literę „ o».

3. Wybierz zakres komórek A1:K11.

Makra w sekcji Makra patka Dom, a następnie kliknij polecenie Usuń komórki - Usuń z przesunięciem w górę.

5. Kliknij strzałkę przycisku Makra patka Pogląd, a następnie kliknij polecenie Zatrzymaj nagrywanie.

Uruchamianie, modyfikowanie i usuwanie makra

Kliknij strzałkę przycisku Makra w sekcji Makra patka Pogląd, a następnie kliknij polecenie Makra. Pojawi się okno dialogowe Makro.

1. Do biegać Makro i kliknij przycisk Biegać.

2. Do reszta istniejące makro, możesz je po prostu usunąć i ponownie nagrać.

3. Jeśli wymagana jest drobna zmiana, możesz otworzyć makro w Edytor VBA i wprowadź zmiany w kodzie makra. Aby to zrobić, po prostu wybierz go w oknie dialogowym Makro i kliknij przycisk Reszta.

4. Do usunąć makro, po prostu wybierz je w oknie dialogowym Makro i kliknij przycisk Usunąć.

Edycja makr

Edycja makr odbywa się za pomocą MicrosoftWizualnyPodstawowydlaAplikacje (VBA) . Edytor można uruchomić za pomocą polecenia WizualnyPodstawowy w grupie Kod zakładki Deweloper lub naciskając klawisze Alt+ F11 .

Dodawanie przycisków makr do kart

Nowy interfejs użytkownika Excel 2010 umożliwia tworzenie i dodawanie niestandardowych kart, grup i poleceń, w tym makr.

1. Aby to zrobić, kliknij prawym przyciskiem myszy, aby wywołać menu kontekstowe dowolnej karty, na przykład Deweloper i wybierz polecenie Personalizacja wstążki.

2. Wybierz zakładkę, na przykład Deweloper i naciśnij przycisk Dodaj grupę.

3. Naciśnij przycisk Przemianować i wpisz w polu Wyświetlana nazwa nazwa nowej grupy, na przykład Makra ok.

4. Z listy Wybierz drużyny Kliknij Makra.

5. Znajdź makro Tabliczka mnożenia i przycisk Dodać Makra.

6. Naciśnij przycisk Przemianować i wpisz w polu Wyświetlana nazwa Tabliczka mnożenia, wybierz symbol i naciśnij przycisk ok.

7. Znajdź makro Jasny i przycisk Dodać włączyć go do tworzonej grupy Makra.

8. Naciśnij przycisk Przemianować i wpisz w polu Wyświetlana nazwa nazwa nowego zespołu, na przykład, Jasny, wybierz symbol i naciśnij przycisk ok.

9. Po naciśnięciu przycisku ok okna dialogowego Opcje programu Excel na karcie Deweloper pojawia się zespół Makra z zespołami Tabliczka mnożenia I Jasny.

Ryż. 4. Dodawanie przycisków makr do zakładki Deweloper

Dodawanie przycisku makra do paska narzędzi szybkiego dostępu

Nowy interfejs użytkownika w programie Excel 2010 pozwala szybko znaleźć wbudowane polecenia, ale uruchomienie makra za pomocą okna dialogowego zajmie kilka sekund. Makro. Excel 2010 ma kilka sposobów na zwiększenie dostępności makr.

Możesz ułatwić dostęp do okna dialogowego Makro dodając przycisk Makra do paska narzędzi szybkiego dostępu.

1. Aby to zrobić, kliknij prawym przyciskiem myszy strzałkę przycisku Makra w sekcji Makra patka Pogląd.

2. W menu kontekstowe kliknij polecenie Dodaj do paska narzędzi szybkiego dostępu.

3. Na pasku narzędzi szybkiego dostępu pojawi się przycisk. Makra, który po kliknięciu otwiera okno dialogowe Makro.

Ryż. 5. Dodawanie przycisku makra do paska narzędzi szybkiego dostępu

Jeśli wolisz uruchomić makro bez otwierania okna dialogowego Makro, możesz dodać przycisk uruchamiający makro do paska narzędzi Szybki dostęp. Jest to szczególnie przydatne, gdy makro automatyzuje często wykonywane zadanie. Aby dodać przycisk makra do paska narzędzi szybkiego dostępu:

1. Kliknij przycisk Ustawianie pieśni szybkiego dostępu na końcu paska narzędzi szybkiego dostępu.

2. Kliknij Inne polecenia aby wyświetlić stronę Ustawienie Okno dialogowe Nadwyżkowe parametryja.

3. Kliknij strzałkę pola Wybierz polecenia z.

5. Kliknij makro, dla którego chcesz utworzyć przycisk.

6. Kliknij przycisk Dodać.

7. Kliknij przycisk ok.

Inny sposób na dodanie przycisku makra Jasny na pasku narzędzi szybkiego dostępu jest możliwość zainstalowania go z zakładki.

Kliknij drużynę Jasny grupy Makra zakładki Deweloper kliknij prawym przyciskiem myszy i wybierz Dodaj do paska narzędzi szybkiego dostępu z menu kontekstowego.

Tworzenie obiektów do wykonywania makr

Przypisywanie makr do kształtów umożliwia tworzenie bardziej złożonych „przycisków” niż te wyświetlane na pasku narzędzi szybkiego dostępu. W razie potrzeby możesz nawet zaprojektować własne układy przycisków dla różnych obiektów. Aby przypisać makro do kształtu, kliknij je prawym przyciskiem myszy, a następnie kliknij polecenie Przypisz makro w menu kontekstowym. W wyświetlonym oknie dialogowym kliknij żądane makro, a następnie kliknij przycisk ok.

Podczas przypisywania makr do kształtów nie zmieniaj nazwy makra wyświetlanej w oknie dialogowym. Przypisz makro do obiektu, ponieważ zawiera odwołanie do obiektu. Zmiana nazwy makra przerywa to łącze i uniemożliwia wykonanie makra.

Aby uruchomić makro Tabliczka mnożenia możesz stworzyć kształt w formie prostokąta, a dla Jasny- w formie elipsy:

1. Kliknij strzałkę przycisku figury w sekcji Ilustracje patka Wstawić, a następnie kliknij polecenie zaokrąglony prostokąt.

2. Wprowadź kształt zaokrąglony prostokąt do zakresu komórek M2:R4. Wpisz tekst „ Tabliczka mnożenia”. Ustaw rozmiar czcionki wprowadzanego tekstu na 18.

3. Kliknij prostokąt prawym przyciskiem myszy, a następnie kliknij polecenie Przypisz makro Tabliczka mnożenia a następnie kliknij przycisk ok.

4. Kliknij strzałkę przycisku figury w sekcji Ilustracje patka Wstawić, a następnie kliknij polecenie Owalny.

5. Wprowadź kształt Owalny do zakresu komórek M7:P10. Wpisz tekst „ czyszczenie”. Ustaw rozmiar czcionki wprowadzanego tekstu na 18. Wyrównaj podpis do środka. Zmień kolor wypełnienia kształtu na czerwony.

6. Kliknij prawym przyciskiem myszy owal, a następnie kliknij polecenie Przypisz makro w menu kontekstowym. W wyświetlonym oknie dialogowym kliknij makro Jasny a następnie kliknij przycisk ok.

Teraz, aby uruchomić makro, po prostu kliknij kształt. Kliknij kształt Owalny a stół zniknie z arkusza. Kliknij kształt zaokrąglony prostokąt a tabliczka mnożenia pojawi się ponownie na arkuszu.

1. Zaleca się tworzenie makr do rutynowych, powtarzalnych czynności. Do tworzenia makr nie jest wymagana znajomość języków programowania.

2. Makra można uruchamiać, modyfikować, edytować i usuwać w razie potrzeby. Edycja makr wymaga znajomości języka algorytmicznego Basic, najlepiej Visual Basic for Applications. Ta ostatnia pozwala zarządzać okna dialogowe i rozwiązywać nietypowe problemy.

3. Przyciski uruchamiania makr można umieszczać na zakładkach, panelach szybkie uruchomienie lub figurki dowolnego typu.

    W programach Excel i Word makra są bardzo pomocne, gdy trzeba pilnie przyjrzeć się konkretnemu elementowi. model obiektowy, ale na przykład nie ma pod ręką Internetu. To prawda, że ​​najczęściej będziesz musiał dokładnie wyczyścić powstały kod z niepotrzebnych „śladów” poruszania się po komórkach i innych opcjonalnych działań. Ale to jest tego warte. Nagrywanie i przeglądanie makra zajmie około 2 minut, ale wyszukiwanie niektórych rodzajów informacji (zwłaszcza związanych z wykresami) w MSDN w kontekście modelu obiektowego może zająć godziny i nie ma gwarancji, że będzie skuteczne.

    Cóż, dla użytkowników, którzy nie są zaznajomieni z VBA, makra są zdecydowanie niezbędną i przydatną rzeczą.

Często osobom, które nigdy nie programowały, trudno jest od razu przeczytać przykłady programów, trzeba najpierw zrozumieć podstawowe zasady, nauczyć się słów, którymi operują programiści. Ta strona została stworzona specjalnie dla bardzo początkujących.

Czym więc są makra i jak je piszesz?

Makra to programy w programie Excel. Makra mogą robić wszystko, co użytkownik może zrobić ręcznie. Przydają się do przetwarzania danych lub automatyzacji standardowych działań.

Makra pisane są w języku VBA — Visual Basic for Applications. Skrót ten warto zapamiętać i używać w Zapytania podczas wyszukiwania niezbędne informacje. VBA to zorientowany obiektowo, hierarchiczny język. Oznacza to, że będziesz musiał zarządzać obiektami, które są sobie podporządkowane. Na przykład skoroszyt programu Excel to obiekt. Ma arkusze, arkusze mają komórki. Arkusze, komórki, zakresy i nie tylko to obiekty. Podporządkowanie można z grubsza porównać z zagnieżdżaniem — na przykład komórka jest zagnieżdżona w arkuszu, a arkusz jest zagnieżdżony w księdze.

Za pomocą obiektów możesz wykonywać szereg czynności, na przykład otwierać, aktywować, wybierać, usuwać, kopiować i wiele więcej.

Obiekty mają właściwości. Na przykład arkusz może być widoczny lub ukryty, aktywny lub nieaktywny. Komórka ma wiele właściwości, które są również znane wszystkim: wypełnienie, obramowanie, kolor i rozmiar tekstu, wyrównanie. Oczywiście właściwości można zmienić.

Tak więc obiekty są „osadzone” w sobie i mają różne właściwości. Poznajmy ich lepiej.

Nie podamy tutaj całej listy, bo jest ogromna. Już na pierwszym etapie ograniczymy się do tego, co potrzebne.

Obiekty:

Skoroszyt — skoroszyt programu Excel.

Arkusz - arkusz.

Zasięg - zasięg.

Komórka - komórka.

Wiersz - ciąg.

Kolumna - kolumna.

Akcje z obiektami

Aktywuj - aktywuj, czyli "wstaw kursor". Możesz aktywować książkę, arkusz, komórkę.

Wybierz - zaznacz. Możesz zaznaczyć jeden lub więcej wierszy, jedną lub więcej kolumn, zakres lub komórkę.

Usuń - usuń. Możesz także usuwać wiersze i kolumny, zakresy komórek lub jedną komórkę, arkusz.

Kopiuj - kopiuj.

I osobno jest akcja Wklej - wklej. Jeśli za wszystkimi poprzednimi działaniami kryje się słowo „co?” (co aktywować, co skopiować), po słowie wklej następuje pytanie „gdzie?”. Dlatego pisząc program, nie musisz określać, co wstawić, ale gdzie wstawić.

Oprócz robienia Programy Excel potrafi "udzielić informacji" o podanych poleceniach. Oto kilka przykładów takich poleceń:

Sheets.Count — zwraca liczbę arkuszy w księdze.

Data — zwraca dzisiejszą datę w postaci ciągu.

Len("string") Zwraca długość łańcucha w liczbie znaków. W tym przykładzie długość wynosi 6.

Teraz musimy powiedzieć kilka słów o typach danych (zmiennych).

Na początek wystarczy wiedzieć jedno: dane mogą być liczbami, ale mogą być ciągami, czyli tekstem. Za pomocą liczb możesz wykonywać niektóre czynności (dodawanie itp.), za pomocą ciągów - inne (np. rozpoznaje pierwszy znak).

Wszystkie wartości ciągów w VBA są napisane w cudzysłowie. Wszystkie tytuły/nazwy książek lub arkuszy są tekstem, czyli wartością ciągu, dlatego zawsze muszą być ujęte w cudzysłów.

Do zmiennych można przypisać zarówno liczby, jak i łańcuchy.

Na przykład:

S="Witaj"

Możesz nadpisać wartości zmiennych, na przykład tak:

I=i+10

S=s i „pokój!”

Następnie i=11 i s="Witaj świecie!".

Tutaj mamy do czynienia z pierwszą operacją na wartościach łańcuchowych. Znak & oznacza, że ​​obie linie muszą zostać połączone. Kolejność jest ważna: jeśli piszesz

s=", świat!" & s, otrzymujemy s=", świat! Witam".

Ponieważ zmienna s zawiera już cudzysłowy, nie musisz jej używać w cudzysłowie. Wręcz przeciwnie, to właśnie brak cudzysłowów powie Excelowi, że należy go traktować jako zmienną, a nie jako tekst, czyli zapisy:

S="Witaj świecie!"

H="Witaj świecie!"

da ten sam wynik - przypisz zmiennej h wartość "Hello, world!"

Ale zapis

S="Witaj świecie!"

H="s"

przypisze wartość "s" do zmiennej h.

Muszę powiedzieć, że obiekty w Excelu są czasami pisane w liczbie pojedynczej, czasami w liczbie mnogiej. Jak zapamiętać, w którym przypadku, co jest używane? Możesz zastosować tę zasadę: wszystko, czego jest dużo w Excelu, jest napisane w liczbie mnogiej, wszystko, co jest w jednym egzemplarzu, jest w jednym, Excel ma dużo książek, dużo arkuszy i dużo komórek. Wszystkie są takie same dla Excela” i można je rozróżnić tylko po nazwie lub współrzędnych. Dlatego program używa liczby mnogiej. Na przykład:

Skoroszyty("Książka1"). Aktywuj

Arkusze("Arkusz1").Kopiuj

Wiersze(1).Usuń

Komórki są określane przez współrzędne: pierwsza to numer wiersza, druga to kolumna.

Na przykład polecenie

Komórki (1,1). Aktywuj

umieszcza kursor w lewej górnej komórce.

Możesz „odnosić się” do książek i arkuszy nie tylko po nazwie, ale także po numerze. Najczęściej jest to potrzebne właśnie przy pracy z arkuszami, kiedy trzeba wszystko posortować. Odnosząc się do liczby, liczba nie musi być ujęta w cudzysłów

Liczba pojedyncza jest używana na przykład w odniesieniu do aktywna komórka lub arkusz, ponieważ oczywiście tylko jedna komórka lub jeden arkusz może być aktywny. Na przykład „zapamiętaj” numer wiersza aktywnej komórki

I=Aktywna komórka.Wiersz

Odnosząc się do obiektu, nie zawsze konieczne jest określenie pełnej ścieżki do niego: jeśli żaden obiekt nie jest określony więcej niż wysoki poziom, makro zostanie wykonane w aktualnie aktywnej lokalizacji.

Na przykład polecenie

Komórki(1,1).Kopiuj

skopiuje lewą górną komórkę aktywnego arkusza.

Drużyna

Arkusze("Arkusz1").Komórki(1,1).Kopiuj

skopiuje górną lewą komórkę w arkuszu „Arkusz1”, niezależnie od tego, czy ten arkusz jest aktualnie aktywny, czy nie.

Po tym możesz już pisać makra :)

Ale przeczytaj więcej o pętle i instrukcja warunkowa a potem o czym? kolekcje obiektów i co mogą nam dać.

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
TAk
Nie
Dziękuję za opinię!
Coś poszło nie tak i Twój głos nie został policzony.
Dzięki. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!