VBA in Excel: Was ist Visual Basic für Anwendungen und wie wird es verwendet?
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Ich möchte die weisen Worte von Steve Jobs weiterführen und sagen, dass jeder auf der Welt lernen sollte, wie man einen Computer programmiert. Sie werden vielleicht nicht unbedingt als Programmierer arbeiten oder überhaupt Programme schreiben, aber es wird Ihnen beibringen, wie man denkt.
Was ist Visual Basic für Applikationen (VBA)?
Visual Basic für Anwendungen (VBA) ist eine ereignisgesteuerte Programmiersprache, die von implementiert wird Microsoft Office-Anwendungen zu entwickeln. VBA hilft bei der Entwicklung von Automatisierungsprozessen, Windows API und benutzerdefinierte Funktionen. Außerdem können Sie damit die Benutzeroberflächenfunktionen der Hostanwendungen manipulieren.
Bevor wir in weitere Details gehen, schauen wir uns in Laiensprache an, was Computerprogrammierung ist. Nehmen wir an, Sie haben ein Hausmädchen. Sie möchten, dass das Hausmädchen das Haus putzt und die Wäsche macht. Sie sagen ihr, was sie tun soll, sagen wir auf Englisch, und sie erledigt die Arbeit für Sie. Wenn Sie mit einem Computer arbeiten, möchten Sie bestimmte Aufgaben ausführen. So wie Sie dem Hausmädchen gesagt haben, dass es die Hausarbeit erledigen soll, können Sie auch dem Computer sagen, dass er die Aufgaben für Sie erledigen soll.
Der Vorgang, dem Computer mitzuteilen, was er für Sie tun soll, wird als Computerprogrammierung bezeichnet. Genauso wie Sie Englisch verwendet haben, um dem Dienstmädchen zu sagen, was es tun soll, können Sie auch englischähnliche Anweisungen verwenden, um dem Computer zu sagen, was er tun soll. Die englischsprachigen Aussagen fallen in die Kategorie der Hochsprachen. VBA ist eine Hochsprache, mit der Sie Excel Ihrem Willen unterwerfen können.
VBA ist eigentlich eine Teilmenge von Visual Basic 6.0, für die BASIC steht BAnfänger AAllzweck Ssymbolisch IAnweisung COde.
Warum VBA?
Mit VBA können Sie englischsprachige Anweisungen verwenden, um Anweisungen zum Erstellen verschiedener Anwendungen zu schreiben. VBA ist leicht zu erlernen und verfügt über eine benutzerfreundliche Benutzeroberfläche, in der Sie die Steuerelemente der Benutzeroberfläche einfach per Drag-and-Drop verschieben müssen. Außerdem können Sie damit die Excel-Funktionalität erweitern, indem Sie dafür sorgen, dass sich das Programm wie gewünscht verhält.
Persönliche und geschäftliche Anwendungen von VBA in Excel
Für den persönlichen Gebrauch können Sie es für einfache Makros verwenden, die die meisten Ihrer Routineaufgaben automatisieren. Weitere Informationen dazu, wie Sie dies erreichen können, finden Sie im Artikel über Makros.
Für den geschäftlichen Gebrauch können Sie komplette leistungsstarke Programme erstellen, die auf Excel und VBA basieren. Der Vorteil dieses Ansatzes besteht darin, dass Sie die leistungsstarken Funktionen von Excel in Ihren eigenen benutzerdefinierten Programmen nutzen können.
Einführung in Visual Basic für Anwendungen
Bevor wir Code schreiben können, müssen wir zunächst die Grundlagen kennen. Die folgenden Grundlagen erleichtern Ihnen den Einstieg.
- Variable – in der High School haben wir Algebra gelernt. Finden Sie (x + 2y), wobei x = 1 und y = 3. In diesem Ausdruck sind x und y Variablen. Ihnen können beliebige Zahlen zugewiesen werden, also 1 bzw. 3 wie in diesem Beispiel. Sie können auch in 4 bzw. 2 geändert werden. Variablen sind kurz gesagt Speicherorte. Wenn Sie mit VBA Excel arbeiten, müssen Sie auch Variablen deklarieren, genau wie im Algebraunterricht
-
Regeln zum Erstellen von Variablen
- Verwenden Sie keine reservierten Wörter – wenn Sie als Student arbeiten, können Sie nicht die Bezeichnung „Dozent“ oder „Schulleiter“ verwenden. Diese Titel sind den Dozenten und der Schulbehörde vorbehalten. Reservierte Wörter sind Wörter, die in Excel VBA eine besondere Bedeutung haben und daher nicht als Variablennamen verwendet werden können.
- Variablennamen dürfen keine Leerzeichen enthalten – Sie können keine Variable mit dem Namen erste Zahl definieren. Sie können firstNumber oder first_number verwenden.
- Verwenden Sie beschreibende Namen – es ist sehr verlockend, eine Variable nach sich selbst zu benennen, aber vermeiden Sie dies. Verwenden Sie aussagekräftige Namen, z. B. Menge, Preis, Zwischensumme usw. Dadurch wird Ihr Excel-VBA-Code leichter lesbar
-
Arithmetische Operatoren – Die Regeln der Brackets von Division, Multiplikation, Addition und Subtraktion (BODMAS) gelten. Denken Sie also daran, sie anzuwenden, wenn Sie mit Ausdrücken arbeiten, die mehrere verschiedene arithmetische Operatoren verwenden. Genau wie in Excel können Sie
- + zur Ergänzung
- – zur Subtraktion
- * zur Multiplikation
- / für Teilung.
-
Logische Operatoren – Das Konzept der logischen Operatoren, das in den vorherigen Tutorials behandelt wurde, gilt auch bei der Arbeit mit VBA. Dazu gehören
- If-Anweisungen
- OR
- NICHT
- UND
- TRUE
- FALSCH
So aktivieren Sie die Registerkarte „Entwickler“.
Nachfolgend finden Sie die schrittweise Anleitung zum Aktivieren der Registerkarte „Entwickler“ in Excel:
- Erstellen Sie eine neue Arbeitsmappe
- Klicken Sie auf die Schaltfläche zum Starten des Menübands
- Wählen
- Klicken Sie auf „Menüband anpassen“.
- Aktivieren Sie das Entwickler-Kontrollkästchen, wie im Bild unten gezeigt
- klicken Sie auf OK
Sie können nun die Registerkarte ENTWICKLER im Menüband sehen
VBA Hallo Welt!
Jetzt zeigen wir, wie man in der Programmiersprache VBA programmiert. Alle Programme in VBA müssen mit „Sub“ beginnen und mit „End sub“ enden. Hier ist der Name der Name, den Sie Ihrem Programm zuweisen möchten. Während „sub“ für eine Subroutine steht, die wir im späteren Teil des Tutorials lernen werden.
Sub name() . . . End Sub
Wir erstellen ein einfaches VBA-Programm, das ein Eingabefeld anzeigt, in dem der Benutzername abgefragt wird, und dann eine Begrüßungsnachricht anzeigt
Für dieses Tutorial wird davon ausgegangen, dass Sie das Tutorial abgeschlossen haben Makros in Excel und haben die Registerkarte ENTWICKLER in Excel aktiviert.
- Erstellen Sie ein neues Arbeitsbuch
- Speichern Sie es in einem Excel-Makro-fähigen Arbeitsblattformat *.xlsm
- Klicken Sie auf die Registerkarte ENTWICKLER
- Klicken Sie auf das Dropdown-Feld INSERT unter der Multifunktionsleiste für Steuerelemente.
- Wählen Sie eine Befehlsschaltfläche aus, wie im Bild unten gezeigt
Zeichnen Sie die Befehlsschaltfläche an einer beliebigen Stelle auf dem Arbeitsblatt
Sie erhalten das folgende Dialogfenster
- Benennen Sie den Makronamen in btnHelloWorld_Click um
- Klicken Sie auf die Schaltfläche „Neu“.
- Sie erhalten das folgende VBA-Codefenster
Geben Sie die folgenden Anweisungscodes ein
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
HIER,
- „Name als String dimmen“ erstellt eine Variable namens name. Die Variable akzeptiert Text, numerische und andere Zeichen, da wir sie als Zeichenfolge definiert haben
- „Name = EingabeBox("Gib deinen Namen ein")" ruft die integrierte Funktion Input aufBox Daraufhin wird ein Fenster mit der Überschrift „Geben Sie Ihren Namen ein“ angezeigt. Der eingegebene Name wird dann in der Namensvariablen gespeichert.
- "MsgBox „Hallo“ + Name“ ruft die eingebaute Funktion Msg aufBox die „Hallo“ und den eingegebenen Namen anzeigen.
Ihr vollständiges Codefenster sollte nun wie folgt aussehen
- Schließen Sie das Codefenster
- Klicken Sie mit der rechten Maustaste auf Schaltfläche 1 und wählen Sie Text bearbeiten
- Geben Sie ein. Sagen Sie Hallo
- Klicken Sie auf „Hallo sagen“.
- Sie erhalten das folgende Eingabefeld
- Geben Sie Ihren Namen ein, z. B. Jordan
- Sie erhalten das folgende Meldungsfeld
Herzlichen Glückwunsch, Sie haben gerade Ihr erstes VBA-Programm in Excel erstellt
Schritt-für-Schritt-Beispiel für die Erstellung eines einfachen EMI-Rechners in Excel
In dieser Übung erstellen wir ein einfaches Programm, das die EMI berechnet. EMI ist die Abkürzung für Equated Monthly Instalment (gleichbleibende monatliche Rate). Es handelt sich um den monatlichen Betrag, den Sie zurückzahlen, wenn Sie einen Kredit aufnehmen. Das folgende Bild zeigt die Formel zur Berechnung der EMI.
Die obige Formel ist komplex und kann in Excel geschrieben werden. Die gute Nachricht ist, dass Excel das obige Problem bereits gelöst hat. Sie können die PMT-Funktion verwenden, um das Obige zu berechnen.
Die PMT-Funktion funktioniert wie folgt
=PMT(rate,nper,pv)
HIER,
- "Bewertung" Dies ist die monatliche Rate. Dabei handelt es sich um den Zinssatz geteilt durch die Anzahl der Zahlungen pro Jahr
- „nper“ es ist die Gesamtzahl der Zahlungen. Dabei handelt es sich um die Kreditlaufzeit multipliziert mit der Anzahl der Zahlungen pro Jahr
- „pv“ Vorhandener Wert. Es handelt sich um den tatsächlichen Kreditbetrag
Erstellen Sie die GUI mithilfe von Excel-Zellen wie unten gezeigt
Fügen Sie zwischen den Zeilen 7 und 8 eine Befehlsschaltfläche hinzu
Geben Sie dem Schaltflächenmakro den Namen btnCalculateEMI_Click
Klicken Sie auf die Schaltfläche Bearbeiten
Geben Sie den folgenden Code ein
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
HIER,
- „Monatsrate als Single dimmen,…“ Dim ist das Schlüsselwort, das zur Definition verwendet wird Variablen in VBA, „monthly_rate“ ist der Variablenname, „Single“ ist der Datentyp, der bedeutet, dass die Variable eine Zahl akzeptiert.
- „monthly_rate = Range(„B6“).Value / Range(“B5″).Value“ Range ist die Funktion, mit der über VBA auf Excel-Zellen zugegriffen wird, Range („B6“). Der Wert verweist auf den Wert in B6
- „WorksheetFunction.Pmt(…)“ WorksheetFunction ist die Funktion, mit der auf alle Funktionen in Excel zugegriffen werden kann
Das folgende Bild zeigt den kompletten Quellcode
- Klicken Sie auf Speichern und schließen Sie das Codefenster
- Testen Sie Ihr Programm wie im animierten Bild unten gezeigt
Beispiel für die Verwendung von VBA in Excel
Die folgenden Schritte erklären, wie VBA in Excel verwendet wird.
Schritt 1) Öffnen Sie Ihren VBA-Editor
Klicken Sie im Hauptmenü auf der Registerkarte „Entwickler“ auf das Symbol „Visual Basic“, um Ihren VBA-Editor zu öffnen.
Schritt 2) Wählen Sie die Excel-Tabelle & aus. Double Klicken Sie auf das Arbeitsblatt
Es wird ein VBA-Editor geöffnet, in dem Sie das Excel-Arbeitsblatt auswählen können, in dem Sie den Code ausführen möchten. Um den VBA-Editor zu öffnen, doppelklicken Sie auf das Arbeitsblatt.
Es öffnet sich ein VBA-Editor auf der rechten Seite des Ordners. Es erscheint wie ein weißer Raum.
Schritt 3) Schreiben Sie alles, was Sie in der Nachricht anzeigen möchtenBox
In diesem Schritt sehen wir unser erstes VBA-Programm. Um unser Programm lesen und anzeigen zu können, benötigen wir ein Objekt. In VBA ist das Objekt oder Medium in einer NachrichtBox.
- Schreiben Sie zuerst „Sub“ und dann Ihren „Programmnamen“ (Guru99)
- Schreiben Sie alles, was Sie in der Nachricht anzeigen möchtenBox (guru99-Lernen macht Spaß)
- Beenden Sie das Programm mit End Sub
Schritt 4) Klicken Sie oben im Editor auf die grüne Schaltfläche „Ausführen“.
Im nächsten Schritt müssen Sie diesen Code ausführen, indem Sie oben im Editor-Menü auf die grüne Schaltfläche „Ausführen“ klicken.
Schritt 5) Wählen Sie das Blatt aus und klicken Sie auf die Schaltfläche „Ausführen“.
Wenn Sie den Code ausführen, wird ein weiteres Fenster geöffnet. Hier müssen Sie das Blatt auswählen, auf dem Sie das Programm anzeigen möchten, und auf die Schaltfläche „Ausführen“ klicken
Schritt 6) Zeigen Sie die Nachricht unter „Nachricht“ anBox
Wenn Sie auf die Schaltfläche „Ausführen“ klicken, wird das Programm ausgeführt. Die Nachricht wird in „Nachricht“ angezeigtBox.
Laden Sie den obigen Excel-Code herunter
Zusammenfassung
VBA: Visual Basic für Anwendungen. Es handelt sich um eine Unterkomponente der Programmiersprache Visual Basic, mit der Sie Anwendungen in Excel erstellen können. Mit VBA können Sie weiterhin die leistungsstarken Funktionen von Excel nutzen und diese in VBA verwenden.