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

Włącz kartę Deweloper

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

Program VBA Hello World

Narysuj przycisk polecenia w dowolnym miejscu arkusza

Wyświetli się następujące okno dialogowe

Program VBA Hello World

  • Zmień nazwę makra na btnHelloWorld_Click
  • Kliknij nowy przycisk
  • Otrzymasz następujące okno kodu VBA

Program VBA Hello World

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

Program VBA Hello World

  • Zamknij okno kodu
  • Kliknij prawym przyciskiem myszy przycisk 1 i wybierz opcję edycji tekstu
  • Wejdź Przywitaj się

Program VBA Hello World

  • Kliknij Przywitaj się
  • Pojawi się następujące pole wprowadzania danych

Program VBA Hello World

  • Wpisz swoje imię, np. Jordan
  • Otrzymasz następujące okno komunikatu

Program VBA Hello World

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.

Tworzenie prostego kalkulatora EMI w programie Excel

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

Tworzenie prostego kalkulatora EMI w programie Excel

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

Tworzenie prostego kalkulatora EMI w programie Excel

  • Kliknij Zapisz i zamknij okno kodu
  • Przetestuj swój program, jak pokazano na animowanym obrazie poniżej

Tworzenie prostego kalkulatora EMI w programie Excel

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.

Użyj VBA w Excelu

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.

Użyj VBA w Excelu

Otworzy się edytor VBA po prawej stronie folderu. Będzie wyglądać jak biała przestrzeń.

Użyj VBA w Excelu

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

Użyj VBA w Excelu

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.

Użyj VBA w Excelu

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”.

Użyj VBA w Excelu

Krok 6) Wyświetl wiadomość w MsgBox

Po kliknięciu przycisku Uruchom program zostanie wykonany. Wyświetli wiadomość w MsgBox.

Użyj VBA w Excelu

Pobierz powyższy kod Excela

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.