VBA w Excelu: Co to jest Visual Basic for Applications, jak korzystać
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Chcę rozszerzyć mądre słowa Steve’a Jobsa i powiedzieć, że każdy na świecie powinien nauczyć się programować komputer. Być może nie skończysz jako programista ani wcale nie będziesz pisać programów, ale nauczy cię to myśleć.
Co to jest Visual Basic for Applications (VBA)?
Visual Basic dla aplikacji (VBA) to język programowania sterowany zdarzeniami, zaimplementowany przez Microsoft do tworzenia aplikacji Office. VBA pomaga rozwijać procesy automatyzacji, Windows API i funkcje zdefiniowane przez użytkownika. Umożliwia także manipulowanie funkcjami interfejsu użytkownika aplikacji hosta.
Zanim przejdziemy do szczegółów, przyjrzyjmy się, czym jest programowanie komputerowe w języku laika. Załóżmy, że masz pokojówkę. Jeśli chcesz, aby pokojówka posprzątała dom i zrobiła pranie. Mówisz jej, co ma robić, używając powiedzmy angielskiego, a ona wykonuje pracę za ciebie. Pracując z komputerem, będziesz chciał wykonać pewne zadania. Tak jak kazałeś pokojówce wykonać obowiązki domowe, możesz również kazać komputerowi wykonać zadania za ciebie.
Proces mówienia komputerowi, co chcesz, aby dla ciebie zrobił, nazywa się programowaniem komputerowym. Tak jak używałeś angielskiego, aby powiedzieć pokojówce, co ma robić, możesz także używać wyrażeń podobnych do angielskiego, aby powiedzieć komputerowi, co ma robić. Angielskie stwierdzenia podobne należą do kategorii języków wysokiego poziomu. VBA to język wysokiego poziomu, którego możesz użyć, aby nagiąć Excela do swojej wszechpotężnej woli.
VBA jest w rzeczywistości podzbiorem skrótu Visual Basic 6.0 BASIC Bnowicjusze Abezcelowy Ssymboliczny Instrukcja Coda.
Dlaczego VBA?
VBA umożliwia używanie instrukcji w języku angielskim do pisania instrukcji tworzenia różnych aplikacji. VBA jest łatwy do nauczenia i ma łatwy w użyciu interfejs użytkownika, w którym wystarczy przeciągnąć i upuścić elementy sterujące interfejsu. Pozwala także ulepszyć funkcjonalność Excela, sprawiając, że zachowuje się tak, jak chcesz.
Osobiste i biznesowe zastosowania VBA w Excelu
Do użytku osobistego możesz go używać do prostych makr, które zautomatyzują większość rutynowych zadań. Przeczytaj artykuł na temat makr, aby uzyskać więcej informacji o tym, jak możesz to osiągnąć.
Do użytku biznesowego możesz tworzyć kompletne, wydajne programy oparte na Excelu i VBA. Zaletą tego podejścia jest możliwość wykorzystania zaawansowanych funkcji programu Excel we własnych, niestandardowych programach.
Wprowadzenie do Visual Basic for Applications
Zanim będziemy mogli napisać jakikolwiek kod, musimy najpierw poznać podstawy. Poniższe podstawy pomogą Ci zacząć.
- Zmienna – w liceum uczyliśmy się algebry. Znajdź (x + 2y), gdzie x = 1 i y = 3. W tym wyrażeniu x i y są zmiennymi. Można im przypisać dowolne liczby, tj. odpowiednio 1 i 3, jak w tym przykładzie. Można je również zmienić na 4 i 2. Zmienne w skrócie są lokalizacjami pamięci. Podczas pracy z VBA Excel będziesz musiał również deklarować zmienne, tak jak w klasach algebry
-
Zasady tworzenia zmiennych
- Nie używaj słów zastrzeżonych – jeśli pracujesz jako student, nie możesz używać tytułu wykładowcy ani dyrektora. Tytuły te są zastrzeżone dla wykładowców i władz szkoły. Słowa zastrzeżone to słowa, które mają specjalne znaczenie w Excel VBA i jako takie nie można ich używać jako nazw zmiennych.
- Nazwy zmiennych nie mogą zawierać spacji – nie można zdefiniować zmiennej o nazwie pierwsza liczba. Możesz użyć pierwszego numeru lub pierwszego_numeru.
- Używaj nazw opisowych – bardzo kuszące jest nazwanie zmiennej swoim imieniem, ale unikaj tego. Używaj nazw opisowych, np. ilości, ceny, sumy częściowej itp., dzięki czemu Twój kod Excel VBA będzie łatwy do odczytania
-
Operatory arytmetyczne – zasady Brackets of Division Multiplication Addition and Subtraction (BODMAS) mają zastosowanie, więc pamiętaj, aby stosować je podczas pracy z wyrażeniami, które używają wielu różnych operatorów arytmetycznych. Podobnie jak w programie Excel, możesz użyć
- + do dodania
- – do odejmowania
- * do mnożenia
- / do podziału.
-
Operatorzy logiczni – Koncepcja operatorów logicznych omówiona we wcześniejszych samouczkach ma zastosowanie również podczas pracy z VBA. Należą do nich:
- Jeśli oświadczenia
- OR
- NIE
- ROLNICZE
- TRUE
- FAŁSZYWY
Jak włączyć kartę Deweloper
Poniżej znajduje się krok po kroku proces włączania karty programisty w programie Excel:
- Utwórz nowy skoroszyt
- Kliknij przycisk startu wstążki
- Wybierz opcje
- Kliknij dostosuj wstążkę
- Zaznacz pole wyboru dewelopera, jak pokazano na poniższym obrazku
- kliknij OK
Teraz na wstążce będzie widoczna zakładka DEWELOPER
Witaj, świecie!
Teraz pokażemy, jak programować w języku programowania VBA. Wszystkie programy w VBA muszą zaczynać się od „Sub” i kończyć na „End sub”. Tutaj nazwa jest nazwą, którą chcesz nadać swojemu programowi. Podczas gdy sub oznacza podprogram, którego nauczymy się w dalszej części kursu.
Sub name() . . . End Sub
Utworzymy podstawowy program VBA, który wyświetli pole wprowadzania, aby poprosić o podanie nazwy użytkownika, a następnie wyświetli wiadomość powitalną
W tym samouczku założono, że ukończyłeś samouczek dotyczący Makra w Excelu i włączyłem zakładkę DEWELOPER w programie Excel.
- Utwórz nowy skoroszyt
- Zapisz go w arkuszu kalkulacyjnym w formacie *.xlsm z obsługą makr programu Excel
- Kliknij zakładkę DEWELOPER
- Kliknij na rozwijane pole WSTAW pod paskiem wstążki sterowania
- Wybierz przycisk polecenia, jak pokazano na obrazku poniżej
Narysuj przycisk polecenia w dowolnym miejscu arkusza
Wyświetli się następujące okno dialogowe
- Zmień nazwę makra na btnHelloWorld_Click
- Kliknij nowy przycisk
- Otrzymasz następujące okno kodu VBA
Wprowadź następujące kody instrukcji
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
TUTAJ,
- „Przyćmiona nazwa jako ciąg” tworzy zmienną o nazwie nazwa. Zmienna akceptuje znaki tekstowe, numeryczne i inne, ponieważ zdefiniowaliśmy ją jako ciąg znaków
- „nazwa = wejścieBox("Wpisz swoje imię")" wywołuje wbudowaną funkcję WejścieBox wyświetlające okno z podpisem Wpisz swoje imię i nazwisko. Wprowadzona nazwa jest następnie zapisywana w zmiennej name.
- "msgBox „Witam” + imię i nazwisko wywołuje wbudowaną funkcję MsgBox wyświetlające Hello i wprowadzoną nazwę.
Twoje pełne okno kodu powinno teraz wyglądać następująco
- Zamknij okno kodu
- Kliknij prawym przyciskiem myszy przycisk 1 i wybierz opcję edycji tekstu
- Wejdź Przywitaj się
- Kliknij Przywitaj się
- Pojawi się następujące pole wprowadzania danych
- Wpisz swoje imię, np. Jordan
- Otrzymasz następujące okno komunikatu
Gratulacje, właśnie stworzyłeś swój pierwszy program VBA w Excelu
Przykład krok po kroku tworzenia prostego kalkulatora EMI w programie Excel
W tym ćwiczeniu samouczka utworzymy prosty program, który oblicza EMI. EMI to skrót od Equated Monthly Installment (równa miesięczna rata). Jest to miesięczna kwota, którą spłacasz, gdy otrzymujesz pożyczkę. Poniższy obraz pokazuje wzór obliczania EMI.
Powyższy wzór jest złożony i można go zapisać w programie Excel. Dobra wiadomość jest taka, że Excel już zajął się powyższym problemem. Możesz użyć funkcji PMT, aby obliczyć powyższe.
Funkcja PMT działa w następujący sposób
=PMT(rate,nper,pv)
TUTAJ,
- "wskaźnik" to jest stawka miesięczna. Jest to stopa procentowa podzielona przez liczbę płatności w ciągu roku
- „nie” jest to łączna liczba płatności. Jest to okres kredytowania pomnożony przez liczbę spłat w ciągu roku
- „pv” obecna wartość. To rzeczywista kwota kredytu
Utwórz GUI, używając komórek Excela, jak pokazano poniżej
Dodaj przycisk polecenia między wierszami 7 i 8
Nadaj makrze przycisku nazwę btnCalculateEMI_Click
Kliknij przycisk edycji
Wprowadź poniższy kod
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
TUTAJ,
- „Przyciemnij miesięczną stawkę jako pojedynczą…” Dim to słowo kluczowe używane do definiowania zmienne w VBA, stawka_miesięczna to nazwa zmiennej, Single to typ danych, co oznacza, że zmienna akceptuje liczbę.
- „stawka_miesięczna = zakres („B6”). Wartość / zakres („B5”). Wartość” Range to funkcja używana do uzyskiwania dostępu do komórek Excela z VBA, Range („B6”). Wartość odnosi się do wartości w B6
- „Funkcja arkusza.Pmt(…)” WorksheetFunction to funkcja umożliwiająca dostęp do wszystkich funkcji programu Excel
Poniższy obraz przedstawia kompletny kod źródłowy
- Kliknij Zapisz i zamknij okno kodu
- Przetestuj swój program, jak pokazano na animowanym obrazie poniżej
Jak korzystać z VBA w Excelu Przykład
Poniższe kroki wyjaśnią, jak używać języka VBA w programie Excel.
Krok 1) Otwórz edytor VBA
W zakładce Deweloper w menu głównym kliknij ikonę „Visual Basic”, aby otworzyć edytor VBA.
Krok 2) Wybierz arkusz Excela i Double kliknij arkusz
Otworzy się edytor VBA, z którego możesz wybrać arkusz Excela, w którym chcesz uruchomić kod. Aby otworzyć edytor VBA, kliknij dwukrotnie arkusz.
Otworzy się edytor VBA po prawej stronie folderu. Będzie wyglądać jak biała przestrzeń.
Krok 3) Napisz wszystko, co chcesz wyświetlić w wiadomościBox
W tym kroku zobaczymy nasz pierwszy program VBA. Do odczytania i wyświetlenia naszego programu potrzebny jest obiekt. W VBA ten obiekt lub medium w MsgBox.
- Najpierw napisz „Sub”, a następnie „nazwę programu” (Guru99)
- Napisz wszystko, co chcesz wyświetlić w wiadomościBox (guru99-nauka jest fajna)
- Zakończ program przyciskiem End Sub
Krok 4) Kliknij zielony przycisk Uruchom na górze edytora
W następnym kroku musisz uruchomić ten kod, klikając zielony przycisk Uruchom na górze menu edytora.
Krok 5) Wybierz arkusz i kliknij przycisk „Uruchom”.
Po uruchomieniu kodu wyskoczy kolejne okno. Tutaj musisz wybrać arkusz, w którym chcesz wyświetlić program i kliknąć przycisk „Uruchom”.
Krok 6) Wyświetl wiadomość w MsgBox
Po kliknięciu przycisku Uruchom program zostanie wykonany. Wyświetli wiadomość w MsgBox.
Podsumowanie
Pełna forma VBA: Visual Basic for Application. Jest to podkomponent języka programowania Visual Basic, którego można używać do tworzenia aplikacji w programie Excel. Dzięki VBA nadal można korzystać z potężnych funkcji programu Excel i używać ich w VBA.