Najlepszy przewodnik VBA (dla początkujących), jakiego kiedykolwiek będziesz potrzebować
Platforma programistyczna VBA(VBA programming) , która działa w prawie wszystkich produktach pakietu Microsoft Office(Microsoft Office) , jest jednym z najpotężniejszych narzędzi, z których każdy może skorzystać, aby usprawnić korzystanie z tych produktów.
Ten przewodnik VBA dla początkujących pokaże Ci, jak dodać menu Deweloper(Developer) do aplikacji pakietu Office(Office) , jak wejść do okna edytora VBA oraz jak działają podstawowe instrukcje i pętle (VBA)VBA , dzięki czemu możesz zacząć korzystać z VBA w programach Excel , Word , Powerpoint , Outlook i OneNote .
Ten przewodnik VBA wykorzystuje najnowszą wersję produktów Microsoft Office . Jeśli masz wcześniejszą wersję, możesz zauważyć niewielkie różnice na zrzutach ekranu.
Jak włączyć i używać edytora VBA(How To Enable & Use The VBA Editor)
W każdym z produktów pakietu Office(Office) użytych w tym przewodniku możesz zauważyć, że nie masz przywoływanego menu Deweloper . (Developer)Menu programisty jest dostępne tylko w programach Excel(Excel) , Word , Outlook i Powerpoint . OneNote nie oferuje narzędzia do edycji kodu VBA z poziomu aplikacji, ale nadal możesz odwoływać się do interfejsu API OneNote(OneNote API) , aby wchodzić w interakcje z OneNote z innych programów pakietu Office .(Office)
Dowiesz się, jak to zrobić, w naszym nadchodzącym przewodniku Advanced VBA .
- Aby włączyć menu Deweloper(Developer) w dowolnym produkcie biurowym, wybierz menu Plik(File) i wybierz Opcje(Options) z lewego menu nawigacyjnego.
- Zobaczysz wyskakujące menu Opcje . (Options)Wybierz Dostosuj wstążkę(Customize Ribbon) z lewego menu nawigacyjnego.
Lista po lewej stronie zawiera wszystkie dostępne menu i polecenia menu dostępne w tej aplikacji pakietu Office(Office) . Lista po prawej to te, które są aktualnie dostępne lub aktywowane.
- Powinieneś zobaczyć Developer na liście po prawej stronie, ale nie zostanie aktywowany. Po prostu(Just) zaznacz pole wyboru, aby aktywować menu programisty(Developer) .
- Jeśli po prawej stronie nie widzisz opcji Deweloper(Developer) , zmień po lewej stronie Wybierz polecenia(Choose commands) z listy rozwijanej na Wszystkie polecenia(All Commands) . Znajdź programistę(Developer) z listy i wybierz Add>> w środku, aby dodać to menu do Wstążki(Ribbon) .
- Po zakończeniu wybierz OK .
- Gdy menu Deweloper(Developer) jest aktywne, możesz wrócić do głównego okna aplikacji i wybrać Deweloper(Developer) z górnego menu.
- Następnie wybierz Wyświetl kod(View Code) z grupy Kontrolki(Controls) na wstążce, aby otworzyć okno edytora VBA .
- Spowoduje to otwarcie okna edytora VBA , w którym możesz wpisać kod, którego nauczysz się w kilku następnych sekcjach.
- Spróbuj dodać menu Deweloper(Developer) do kilku aplikacji pakietu Office(Office) , których używasz na co dzień. Gdy będziesz już swobodnie otwierać okno edytora VBA , przejdź do następnej sekcji tego przewodnika.
Ogólne wskazówki dotyczące programowania VBA dla początkujących(General VBA Programming Tips for Beginners)
Zauważysz, że po otwarciu edytora VBA opcje nawigacji w lewym panelu wyglądają inaczej w zależności od aplikacji (VBA)pakietu Office(Office) .
Dzieje się tak, ponieważ dostępne obiekty, w których możesz umieścić kod VBA , zależą od tego, jakie obiekty znajdują się w aplikacji. Na przykład w programie Excel(Excel) można dodać kod VBA do obiektów skoroszytu lub arkusza. (VBA)W programie Word(Word) możesz dodać kod VBA do dokumentów. W Powerpoint tylko do modułów.
Więc nie zdziw się różnymi menu. Struktura i składnia kodu VBA jest taka sama we wszystkich aplikacjach. Jedyną różnicą są obiekty, do których możesz się odwoływać, i działania, które możesz wykonać na tych obiektach za pomocą kodu VBA .
Zanim zagłębimy się w różne obiekty i działania, które możesz wykonać za pomocą kodu VBA , przyjrzyjmy się najpierw najpopularniejszej strukturze i składni VBA , których możesz użyć podczas pisania kodu VBA .
Gdzie umieścić kod VBA(Where To Put VBA Code)
Kiedy jesteś w edytorze VBA , musisz użyć dwóch rozwijanych pól w górnej części okna edycji, aby wybrać obiekt, do którego chcesz dołączyć kod, i kiedy chcesz, aby kod został uruchomiony.
Na przykład w programie Excel , jeśli wybierzesz opcję Arkusz(Worksheet) i Aktywuj(Activate) , kod będzie uruchamiany za każdym razem, gdy arkusz zostanie otwarty.
Inne akcje arkusza, których można użyć do wyzwolenia kodu VBA , obejmują zmiany arkusza roboczego, jego zamknięcie (dezaktywację), uruchomienie obliczenia arkusza roboczego i nie tylko.
Dodając kod VBA w edytorze, zawsze pamiętaj o umieszczeniu kodu VBA na obiekcie i użyciu właściwej akcji, której chcesz użyć do wyzwolenia tego kodu.
Oświadczenia VBA IF(VBA IF Statements)
Instrukcja IF działa w VBA tak samo, jak w każdym innym języku programowania.
Pierwsza część instrukcji JEŻELI sprawdza, czy warunek lub zestaw warunków jest prawdziwy. Warunki te można połączyć operatorem AND lub OR, aby połączyć je ze sobą.
Jednym z przykładów może być sprawdzenie, czy ocena w arkuszu kalkulacyjnym jest wyższa lub niższa od oceny „zdającej” i przypisanie statusu zaliczenia lub niepowodzenia do innej komórki.
If Cells(2, 2) > 75 Then Cells(2, 3) = “Pass” Else Cells(2, 3) = “Fail”
Jeśli nie chcesz, aby cała instrukcja znajdowała się w jednym wierszu, możesz podzielić ją na wiele wierszy, dodając symbol „_” na końcu wierszy.
If Cells(2, 2) > 75 Then _
Cells(2, 3) = “Pass” Else _
Cells(2, 3) = “Fail”
Korzystanie z tej techniki może często znacznie ułatwić odczytywanie i debugowanie kodu.
VBA dla następnych pętli(VBA For Next Loops)
Instrukcje JEŻELI świetnie nadają się do pojedynczych porównań, jak w powyższym przykładzie patrzenia na pojedynczą komórkę. Ale co, jeśli chcesz przejść przez cały zakres komórek i wykonać na każdej tę samą instrukcję IF?
W tym przypadku potrzebujesz pętli FOR .
Aby to zrobić, musisz użyć długości zakresu i wykonać pętlę przez tę długość przez liczbę wierszy zawierających dane.
Aby to zrobić, musisz zdefiniować zmienne zakresu i komórki, a następnie przejść przez nie. Będziesz także musiał zdefiniować licznik, aby wyniki były wyświetlane w odpowiednim wierszu. Więc twój kod VBA miałby najpierw tę linię.
Dim rng As Range, komórka As Range (Dim rng As Range, cell As Range)
Dim rowCounter jako Integer(Dim rowCounter as Integer)
Zdefiniuj rozmiar zakresu w następujący sposób.
Set rng = Range(“B2:B7”)
rowCounter = 2
Na koniec możesz utworzyć pętlę FOR , aby przejść przez każdą komórkę w tym zakresie i dokonać porównania.
For Each cell In rng If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell
Po uruchomieniu tego skryptu VBA(VBA script) zobaczysz wyniki w rzeczywistym arkuszu kalkulacyjnym.
Pętle podczas VBA(VBA While Loops)
Pętla While Loop również przechodzi przez serię instrukcji, podobnie jak pętla FOR , ale warunkiem kontynuacji pętli jest warunek, który pozostaje spełniony.
Na przykład możesz napisać tę samą pętlę FOR powyżej, jako pętlę WHILE , używając po prostu zmiennej rowCounter w następujący sposób.
While rowCounter < rng.Count + 2 If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend
Uwaga: limit zakończenia rng.Count + 2 jest wymagany, ponieważ licznik wiersza zaczyna się od 2 i musi kończyć się w wierszu 7, w którym kończą się dane. Jednak liczba zakresu (B2:B7) wynosi tylko 6, a pętla While kończy się dopiero, gdy licznik będzie WIĘKSZY(GREATER) niż licznik – więc ostatnia wartość rowCounter musi wynosić 8 (lub rng.Count + 2).
Możesz również skonfigurować pętlę While w następujący sposób:
While rowCounter <= rng.Count + 1
Licznik zakresu (6) można zwiększyć tylko o 1, ponieważ gdy zmienna rowCounter osiągnie koniec danych (wiersz 7), pętla może się zakończyć.
VBA Rób póki i rób aż do pętli(VBA Do While and Do Until Loops)
Pętle Do While i Do Until są prawie identyczne z pętlami While, ale działają nieco inaczej.
- Pętla While(While Loop) na początku pętli sprawdza, czy warunek jest spełniony.
- Pętla Do-While(Do-While Loop) sprawdza, czy warunek jest spełniony po wykonaniu instrukcji w pętli.
- Pętla Do-Until(Do-Until Loop) sprawdza, czy po wykonaniu pętli warunek jest nadal fałszywy.
W takim przypadku możesz przepisać powyższą pętlę While w następujący sposób, jako pętlę Do-While.
Do If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2
W tym przypadku logika nie zmienia się zbytnio, ale jeśli chcesz się upewnić, że porównanie logiczne ma miejsce po uruchomieniu wszystkich instrukcji (umożliwiając im wykonanie wszystkich bez względu na to, co przynajmniej raz), wtedy funkcja Do-While lub pętla Do-Until jest właściwą opcją.
Oświadczenia dotyczące wyboru przypadku VBA(VBA Select Case Statements)
Ostatnim typem instrukcji logicznej, którą musisz zrozumieć, aby rozpocząć tworzenie struktury kodu VBA , są instrukcje Select Case .
Biorąc pod uwagę powyższy przykład, załóżmy, że chcesz mieć metodę oceniania, która nie polega tylko na zaliczeniu niepowodzenia. Zamiast tego chcesz przypisać ocenę literową od A do F.
Możesz to zrobić za pomocą następującej instrukcji Select Case :
For Each cell In rng Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell
Wynikowy arkusz kalkulacyjny po uruchomieniu tego skryptu VBA wygląda jak ten poniżej.
Teraz wiesz już wszystko, co musisz wiedzieć, aby zacząć używać VBA w aplikacjach Microsoft Office .
Related posts
Zaawansowany przewodnik VBA dla MS Excel
13 najlepszych skrótów klawiaturowych dla Microsoft Teams
Jak utworzyć makro lub skrypt VBA w programie Excel?
Co to jest Microsoft Publisher? Przewodnik dla początkujących
Jak naprawić błąd niezdefiniowanej zakładki w programie Word?
Napraw komunikat o błędzie MS Office „Nie można zweryfikować licencji”
Jak wyczyścić pamięć podręczną programu Outlook
Jak dodawać przypisy w programie Word
Jak zmienić rozmiar slajdu w programie PowerPoint w celu uzyskania lepszych prezentacji
Jak używać instrukcji If i zagnieżdżonych instrukcji If w programie Excel?
Jak usunąć obramowania tabeli w Dokumentach Google
Jak zmienić domyślną czcionkę w aplikacjach pakietu Office
Twórz lub generuj skróty klawiaturowe dla Microsoft Office
Jak korzystać z analizy warunkowej programu Excel
Jak wyświetlić liczbę słów w programie Microsoft Word
Jak skonfigurować potwierdzenia odczytu w programie Outlook
Jak zamienić prezentację Powerpoint w wideo?
Jak sortować według daty w programie Excel
Jak odzyskać usunięte wiadomości e-mail w Office 365?
Korzystanie z narzędzia wyszukiwania celów analizy warunkowej w programie Excel