VBA Excel: Przykłady programów. Makra w Excelu

Niewiele osób wie, że pierwsza wersja popularnego produktu Microsoft Excel pojawiła się w 1985 roku. Od tego czasu doświadczył wielu modyfikacji i jest poszukiwany przez miliony użytkowników na całym świecie. Jednocześnie wielu pracuje tylko z niewielką częścią możliwości tego procesora stołowego, a nawet nie zgaduje, w jaki sposób mogą one ułatwić życie w programowaniu w Excelu.

Czym jest VBA

Programowanie w Excelu odbywa się za pomocą języka programowania Visual Basic for Application wbudowanego w najbardziej znany procesor stołowy Microsoft. Na swoją korzyść eksperci przypisują względną łatwość rozwoju. Jak pokazuje praktyka, nawet użytkownicy, którzy nie mają profesjonalnych umiejętności programowania mogą uczyć się podstaw VBA. Funkcje VBA obejmują wykonywanie skryptu w środowisku aplikacji biurowych.


Wadami programu są problemy związane z kompatybilnością różnych wersji. Wynika to z faktu, że kod programu VBA odnosi się do funkcjonalności, która jest obecna w nowej wersji produktu, ale nie w starej wersji. Ponadto wady obejmują nadmiernie wysoką otwartość kodu w celu zmiany strony trzeciej. Jednak Microsoft Office oraz IBM Lotus Symphony umożliwiają użytkownikowi stosowanie szyfrowania kodu źródłowego i konfiguracji hasła w celu jego wyświetlenia.

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

Właśnie z tymi pojęciami należy się zająć tym, którzy zamierzają pracować w środowisku VBA. Przede wszystkim musisz zrozumieć, czym jest obiekt. W programie Excel, w tej roliList, książka, komórka i akt zasięgu. Obiekty te mają specjalną hierarchię, to znaczy, że podlegają sobie nawzajem.


Najważniejszą z nich jest Aplikacja, odpowiadająca samemu programowi Excel. Następnie wykonaj Skoroszyty, Arkusze i Zakres. Na przykład, aby odnieść się do A1 na oddzielnym arkuszu, musisz określić ścieżkę w oparciu o hierarchię. Jeśli chodzi o pojęcie "kolekcja", to jest to grupa obiektów tej samej klasy, która w notatce wygląda jak ChartObjects. Jego poszczególne elementy są również obiektami. Następną koncepcją są właściwości. Są niezbędną cechą każdego obiektu. Na przykład dla zakresu - jest wartość lub formuła. Metody to zespoły, które pokazują, co robić. Podczas pisania kodu VBA należy je oddzielić od obiektu kropką. Na przykład, jak zostanie pokazane później, bardzo często przy korzystaniu z Excela użyj komendy Komórki
. Wybierz. Oznacza to, że musisz wybrać komórkę o współrzędnych
, czyli A1. Razem z nią często używa się Selection.ClearContents. Jego wykonanie oznacza wyczyszczenie zawartości wybranej komórki.

Jak rozpocząć

Przede wszystkim należy utworzyć plik i zapisać go, przypisując nazwę i wybierając typ "Excel Book with Macro Support". Następnie musisz przejść do aplikacji VB, która wystarczy, aby użyć kombinacji klawiszy "Alt" i "F11". Dalej:
  • W pasku menu znajdującym się w górnej części okna kliknij ikonę obok ikony Excel;
  • wybierz polecenie Mudule;
  • są zapisywane przez kliknięcie ikony z obrazem dyskietki;
  • napiszmy, powiedzmy, zarys kodu.
  • Wygląda to tak:
    Sub program () "Nasz kod End Sub Zwróć uwagę, że linia" Nasz kod "będzie podświetlona na inny kolor (zielony). Powód apostrofu umieszczonego na początku linii, co oznacza, że ​​komentarz ten następuje. Teraz możesz napisać dowolny kod i utworzyć dla ciebie nowe narzędzie VBA Excel (przykłady programów patrz poniżej). Oczywiście ci, którzy znają podstawy Visual Basic, będą znacznie łatwiejsi. Jednak nawet ci, którzy ich nie mają, w razie potrzeby będą mogli szybko się przyzwyczaić.

    Makra w Excelu

    Ta nazwa ukrywa programy napisane w języku Visual Basic for Application. Zatem programowanie w Excelu polega na tworzeniu makr z wymaganym kodem. Dzięki tej możliwości procesor tabeli Microsoft sam się zmienia, dostosowując się do potrzeb konkretnego użytkownika. Rozumiejąc, jak tworzyć moduły do ​​pisania makr, możesz zacząć rozważać konkretne przykłady programów Excel VBA. Najlepiej zacząć od najbardziej elementarnych kodów.

    Przykład 1

    Zadanie: napisz program, który skopiuje wartości zawartości jednej komórki, a następnie zapisze w innej. Aby to zrobić:
  • otwórz zakładkę "Widok";
  • przejdź do ikony "Makra";
  • naciśnij "Makro nagrywania";
  • wypełnić otwarty formularz.
  • Dla uproszczenia, w „Nazwa makra” left „Makros1” oraz w „Skróty klawiaturowe” dodaje się, na przykład, hh (co oznacza, że ​​można uruchomić przykładowy program zespół Blitz «Ctrl + H»). Naciśnij Enter. Teraz, kiedy to rozpoczął nagrywanie makra produktów skopiować zawartość każdej komórki do drugiej. Wróć do oryginalnej ikony. Kliknij"Makro nagrywania". To działanie oznacza ukończenie programu. Dalej:
  • Wróć do linii "Makra";
  • na liście wybierz "Makro 1";
  • naciśnij "Uruchom" (ta sama czynność jest wyzwalana przez rozpoczęcie skrótu klawiaturowego Ctrl + hh ").
  • W rezultacie podjęto działanie w procesie pisania makra.
    Ma sens, aby zobaczyć, jak wygląda kod. Aby to zrobić, wróć do wiersza "Makra" i kliknij "Zmień" lub "Zaloguj się". W rezultacie znajdują się w środowisku VBA. W rzeczywistości sam kod makra znajduje się pomiędzy wierszami Sub Macro1 () End Sub. Jeśli kopiowanie zostało wykonane, na przykład, z komórki A1 w komórce C1, wówczas jedna z linii kodu wyglądałaby jako zakres ("C1"). Przetłumaczony, wygląda jak „zakres” C1 „). Select”, innymi słowy, porusza się w VBA Excel w komórce C1. Aktywna część kodu zakończy ActiveSheet.Paste zespół. Oznacza to zapis zawartości zaznaczonej komórki (w tym przypadku A1) w . wybrany C1 komórki

    Przykład 2

    pomocą cykli VBA tworzyć różne makr Excel Cykle pomocy VBA tworzyć różne makra Załóżmy, że funkcją y = x + x 2 + 3 x 3 -... cos (x) trzeba utworzyć makro, aby uzyskać jego wykres, możesz to zrobić tylko za pomocą pętli VBA, dla początkowych i końcowych wartości argumentu Funkcje są x1 = 0 i x2 = 10. Ponadto należy wprowadzić stałe - wartość argumentu krok zmiany i początkową wartość licznika Wszystkie przykłady makr VBA Excel utworzone za pomocą tej samej procedury, która jest prezentowana powyżej W tym konkretnym przypadku, kod wygląda..: Pod programowe () = x1 x2 = 10 1 machora = 0,1 i = od 1 do podczas x1

    Powiązane publikacje