Einsteiger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten)

Einsteiger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten) / Produktivität

Excel-Makros können Sie viel Zeit sparen, indem Sie häufig verwendete Excel-Prozesse automatisieren. So zeichnen Sie ein Makro in Excel 2016 auf So zeichnen Sie ein Makro in Excel 2016 auf Wussten Sie, dass Sie sich wiederholende Aufgaben in Microsoft Excel mithilfe von Makros automatisieren können? Wir zeigen Ihnen, wie Sie ein Makro in Excel 2016 aufnehmen, um Zeit zu sparen. Weiterlesen . Aber Makros sind eigentlich ziemlich begrenzt. Mit dem Aufnahmetool ist es leicht möglich, einen Fehler zu machen, und der Aufnahmevorgang ist umständlich.

Die Verwendung von VBA zum Erstellen von Makros bietet Ihnen viel mehr Leistung. Sie können Excel genau sagen, was zu tun ist und wie. Sie erhalten auch Zugriff auf viele weitere Funktionen und Funktionen. Wenn Sie regelmäßig Excel verwenden, sollten Sie lernen, wie man VBA-Makros erstellt.

Wir beginnen mit den Grundlagen.

Was ist VBA??

VBA ist Visual Basic für Applikationen, eine Programmiersprache, die Sie in vielen Microsoft-Apps verwenden können. Visual Basic ist eine Programmiersprache und VBA ist die anwendungsspezifische Version davon. (Microsoft hat Visual Basic 2008 eingestellt, aber VBA ist immer noch stark).

Zum Glück für Nicht-Programmierer ist VBA sehr einfach und die Benutzeroberfläche, die Sie zum Bearbeiten verwenden, bietet viel Unterstützung. Viele der von Ihnen verwendeten Befehle zeigen Popup-Vorschläge und automatische Vervollständigungen an, damit Sie Ihr Skript schneller zum Laufen bringen können.

Dennoch dauert es eine Weile, bis sich VBA daran gewöhnt.

Die Vorteile von VBA-Makros in Excel

Wenn VBA schwieriger ist als das Aufzeichnen eines Makros, warum sollten Sie es verwenden? Die kurze Antwort ist, dass Sie mit VBA-Makros viel mehr Leistung erhalten.

Anstatt in Ihrem Arbeitsblatt zu klicken und diese Klicks aufzuzeichnen, können Sie auf alle Funktionen und Funktionen von Excel zugreifen. Sie müssen nur wissen, wie man sie benutzt.

Sobald Sie sich mit VBA vertraut gemacht haben, können Sie alles, was Sie in einem normalen Makro tun könnten, in viel kürzerer Zeit erledigen. Die Ergebnisse werden auch vorhersagbarer sein, wenn Sie es mit Excel sagen genau was ist zu tun. Es gibt überhaupt keine Mehrdeutigkeit.

Nachdem Sie Ihr VBA-Makro erstellt haben, können Sie es einfach speichern und freigeben, damit alle anderen es nutzen können. Dies ist besonders nützlich, wenn Sie mit vielen Leuten zusammenarbeiten, die in Excel die gleichen Aufgaben ausführen müssen.

Schauen wir uns ein einfaches VBA-Makro an, um zu sehen, wie es funktioniert.

Ein Beispiel für ein VBA-Makro in Excel

Schauen wir uns ein einfaches Makro an. Unsere Tabelle enthält die Namen der Angestellten, die Filialnummer, in der die Angestellten arbeiten, und ihren vierteljährlichen Umsatz.

Dieses Makro fügt die vierteljährlichen Umsätze aus jedem Geschäft hinzu und schreibt diese Summen in die Zellen der Tabelle (wenn Sie nicht sicher sind, wie Sie auf den VBA-Dialog zugreifen können, lesen Sie unsere VBA-Komplettlösung hier):

Sub StoreSales () Dim Sum1 als Währung Dim Sum2 als Währung Dim Sum3 als Währung Dim Sum4 als Währung für jede Zelle in Bereich ("C2: C51") Cell.Activate Wenn IsEmpty (Zelle), dann Beenden für If ActiveCell.Offset (0, -1) = 1 Dann Sum1 = Sum1 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 2 Dann Sum2 = Sum2 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 3 Dann Sum3 = Sum3 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 4 Then Sum4 = Sum4 + Cell.Value End If Nächster Zellbereich ("F2"). Wert = Sum1 Range ("F3"). Wert = Sum2 Range (" F4 "). Wert = Sum3 Range (" F5 "). Wert = Sum4 End Sub

Das mag lang und kompliziert aussehen, aber wir werden es aufschlüsseln, damit Sie die einzelnen Elemente sehen und ein wenig über die Grundlagen von VBA lernen können.

Deklaration des U-Bootes

Am Anfang des Moduls haben wir “Sub StoreSales ()”. Dies definiert ein neues Sub namens StoreSales.

Sie können auch Funktionen definieren. Der Unterschied besteht darin, dass Funktionen Werte zurückgeben können und Subs nicht (wenn Sie sich mit anderen Programmiersprachen auskennen, entsprechen Subs den Methoden). In diesem Fall müssen wir keinen Wert zurückgeben, daher verwenden wir ein Sub.

Am Ende des Moduls haben wir “End Sub,” was Excel sagt, dass wir mit diesem VBA-Makro fertig sind.

Variablen deklarieren

Die ersten Codezeilen in unserem Skript beginnen mit “Dim.” Dim ist der Befehl von VBA zur Deklaration einer Variablen.

So “Dim Sum1” erstellt eine neue Variable namens “Summe1.” Wir müssen jedoch Excel mitteilen, um welche Art von Variable es sich handelt. Wir müssen einen Datentyp auswählen. Es gibt viele verschiedene Datentypen in VBA. Die vollständige Liste finden Sie in den Hilfedokumenten von Microsoft.

Da unser VBA-Makro mit Währungen umgehen wird, verwenden wir den Datentyp "Währung".

Die Aussage “Dim Sum1 als Währung” weist Excel an, eine neue Währungsvariable namens "Sum1" zu erstellen. Jede Variable, die Sie deklarieren, muss eine “Wie” Anweisung, um Excel den Typ anzugeben.

Starten einer For-Schleife

Loops sind einige der mächtigsten Dinge, die Sie in jeder Programmiersprache erstellen können. Wenn Sie sich mit Schleifen nicht auskennen, lesen Sie diese Erklärung zu Do-While-Schleifen. Funktionsweise von Do-While-Schleifen in der Computerprogrammierung Funktionsweise von Do-While-Schleifen in der Computerprogrammierung Schleifen sind eine der ersten Steuerungstypen, die Sie beim Programmieren lernen . Sie wissen wahrscheinlich, wann und für Schleifen, aber was leistet eine do-while-Schleife? Weiterlesen . In diesem Beispiel verwenden wir eine For-Schleife, die auch im Artikel behandelt wird.

So sieht die Schleife aus:

Für jede Zelle in Reichweite ("C2: C51") [eine Menge Zeug] Nächste Zelle

Dadurch wird Excel angewiesen, die Zellen in dem von uns angegebenen Bereich zu durchlaufen. Wir haben ein Range-Objekt verwendet. Grundlegendes zu Excel-Zellen im Vergleich zu Bereichsfunktionen in VBA Grundlegendes zu Excel-Zellen im Vergleich zu Bereichsfunktionen in VBA Die Verwendung der Bereichs- und Zellenfunktionen in Excel kann sehr verwirrend sein. So können Sie sie in einer Weise nutzen, die Sie sich wahrscheinlich nie vorstellen konnten, mithilfe von VBA Read More, einem bestimmten Objekttyp in VBA. Wenn wir es auf diese Art und Weise verwenden (“C2: C51”) -it sagt Excel, dass wir an diesen 50 Zellen interessiert sind.

“Für jeden” teilt Excel mit, dass wir mit jeder Zelle in diesem Bereich etwas unternehmen werden. “Nächste Zelle” kommt nach allem, was wir tun wollen, und sagt Excel, dass die Schleife am Anfang beginnen soll (beginnend mit der nächsten Zelle).

Wir haben auch diese Aussage: “Wenn IsEmpty (Zelle), dann beenden Sie für.”

Können Sie sich vorstellen, was es tut??

Hinweis: Streng genommen ist die Verwendung einer While-Schleife möglicherweise die bessere Wahl. 4 Fehler, die Sie beim Programmieren von Excel-Makros mit VBA vermeiden können. 4 Fehler, die Sie beim Programmieren von Excel-Makros mit VBA vermeiden können. Einfache Codes und Makros sind die Schlüssel zu Microsoft Excel-Superkräften. Auch Nicht-Programmierer können mit Virtual Basics for Applications (VBA) auf einfache Weise beeindruckende Funktionen in ihre Tabellenkalkulation einfügen. Vermeiden Sie einfach diese Anfängerfehler beim Programmieren! Weiterlesen . Aus Gründen des Unterrichts entschied ich mich jedoch, eine For-Schleife mit einem Exit zu verwenden.

If-Then-Else-Anweisungen

Der Kern dieses Makros liegt in den If-Then-Else-Anweisungen. Hier ist unsere Abfolge von Bedingungsanweisungen:

Wenn ActiveCell.Offset (0, -1) = 1, dann ist Sum1 = Sum1 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 2. Dann Sum2 = Sum2 + Cell.Value ElseIf ActiveCell.Offset (0, -1). = 3 Dann Sum3 = Sum3 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 4 Dann Sum4 = Sum4 + Cell.Value End If

In den meisten Fällen können Sie wahrscheinlich erraten, was diese Aussagen bewirken. Sie sind jedoch möglicherweise nicht mit ActiveCell.Offset vertraut. “ActiveCell.Offset (0, -1)” weist Excel an, die Zelle zu betrachten, die sich eine Spalte links von der aktiven Zelle befindet.

In unserem Fall wird Excel dazu aufgefordert, die Spalte mit der Geschäftsnummer abzurufen. Wenn Excel in dieser Spalte eine 1 findet, nimmt es den Inhalt der aktiven Zelle und fügt sie zu Sum1 hinzu. Wenn es eine 2 findet, fügt es den Inhalt der aktiven Zelle zu Sum2 hinzu. Und so weiter.

Excel führt alle diese Anweisungen der Reihe nach durch. Wenn die Bedingungsanweisung Verwenden von IF-Anweisungen in Microsoft Excel Verwenden von IF-Anweisungen in Microsoft Excel Unabhängig davon, ob Sie ein erfahrener Experte oder ein Anfänger in einer Tabellenkalkulation sind, sollten Sie sich dieses Handbuch zu IF-Anweisungen in Excel ansehen. Read More ist zufrieden, es schließt die Then-Anweisung ab. Wenn nicht, wird in die nächste ElseIf verschoben. Wenn es bis zum Ende durchgeht und keine der Bedingungen erfüllt ist, werden keine Maßnahmen ergriffen.

Die Kombination aus Schleife und Bedingungen ist es, die dieses Makro antreibt. Die Schleife weist Excel an, durch jede Zelle in der Auswahl zu gehen, und die Bedingungen geben an, was mit dieser Zelle zu tun ist.

Zellenwerte schreiben

Zum Schluss schreiben wir die Ergebnisse unserer Berechnungen in Zellen. Hier sind die Zeilen, die wir dazu verwenden:

Bereich ("F2"). Wert = Summe1 Bereich ("F3"). Wert = Summe2 Bereich ("F4"). Wert = Summe3 Bereich ("F5"). Wert = Summe4

Mit “.Wert” und ein Gleichheitszeichen setzen wir jede dieser Zellen auf den Wert einer unserer Variablen.

Und das ist es! Wir sagen Excel, dass wir mit diesem Sub fertig sind “End Sub,” und das VBA-Makro ist abgeschlossen.

Wenn wir das Makro mit ausführen Makros Taste in der Entwickler Tab, wir bekommen unsere Summen:

Zusammenstellen der Bausteine ​​von VBA in Excel

Wenn Sie sich das VBA-Makro zum ersten Mal ansehen, wirkt es recht komplex. Aber nachdem es in seine Bestandteile zerlegt wurde, wird die Logik klar. Wie bei jeder anderen Skriptsprache, dauert es einige Zeit, sich an die VBA-Syntax zu gewöhnen.

Mit etwas Übung bauen Sie jedoch Ihr VBA-Vokabular auf und können Makros schneller, genauer und mit mehr Leistung schreiben, als Sie jemals aufnehmen könnten.

Wenn Sie nicht weiterkommen, können Sie mit einer Google-Suche schnell Ihre VBA-Fragen beantworten. Die Excel VBA-Referenz von Microsoft kann hilfreich sein, wenn Sie bereit sind, nach einer technischen Antwort zu suchen.

Wenn Sie mit den Grundlagen vertraut sind, können Sie VBA zum Beispiel zum Senden von E-Mails aus Excel und zum Exportieren von Outlook-Aufgaben verwenden. So exportieren Sie Ihre Outlook-Aufgaben nach Excel mit VBA. So exportieren Sie Ihre Outlook-Aufgaben nach Excel mit VBA Ein Fan von Microsoft, eine gute Sache, die man zu MS Office-Produkten sagen kann, ist, wie einfach es ist, jeden von ihnen miteinander zu integrieren. Lesen Sie mehr und zeigen Sie Ihre PC-Informationen an. So zeigen Sie alle Ihre PC-Informationen an Ein einfaches Excel VBA-Skript Anzeigen aller PC-Informationen mithilfe eines einfachen Excel VBA-Skripts Excel und 10 Minuten Arbeit geben Ihnen detailliertere Informationen über Ihren Computer, als Sie jemals für möglich gehalten hätten. Klingt zu gut um wahr zu sein? Das ist Windows, wenn Sie wissen, wie man es benutzt. Weiterlesen .

.