Ein Anfänger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten)

Ein Anfänger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten)

Werbung

Excel-Makros können Sie eine Menge Zeit sparen, indem Sie Excel-Prozesse automatisieren, die Sie häufig verwenden So zeichnen Sie ein Makro in Excel 2016 auf Wie Sie ein Makro in Excel 2016 aufzeichnen Wussten Sie, dass Sie könnten? automatisieren sich wiederholende Aufgaben in Microsoft Excel mithilfe von Makros? Wir zeigen Ihnen, wie Sie in Excel 2016 ein Makro aufzeichnen, um viel Zeit zu sparen. Weiterlesen . Aber Makros sind eigentlich ziemlich begrenzt. Es ist leicht, einen Fehler mit dem Aufnahme-Tool zu machen, und der Aufnahmeprozess ist peinlich.

Die Verwendung von VBA zum Erstellen von Makros gibt Ihnen sehr viel mehr Power. Sie können Excel genau sagen, was zu tun ist und wie es gemacht wird. Sie erhalten auch Zugriff auf viele weitere Funktionen und Funktionen. Wenn Sie Excel regelmäßig verwenden, lohnt es sich, das Erstellen von VBA-Makros zu erlernen.

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 2008 Visual Basic eingestellt, aber VBA läuft immer noch stark).

Glücklicherweise ist VBA für Nicht-Programmierer sehr einfach und die Benutzeroberfläche, die Sie zum Bearbeiten verwenden, bietet eine Menge Unterstützung. Viele der Befehle, die Sie verwenden, verwenden Popup-Vorschläge und automatische Vervollständigungen, damit Sie schneller mit Ihrem Skript arbeiten können.

Dennoch dauert VBA eine Weile, um sich daran zu gewöhnen.

Die Vorteile von VBA-Makros in Excel

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

Anstatt auf Ihre Tabelle zu klicken und diese Klicks aufzuzeichnen, können Sie auf die vollständige Palette an Funktionen und Funktionen von Excel zugreifen. Sie müssen nur wissen, wie man sie benutzt.

Und sobald Sie mit VBA besser vertraut sind, können Sie alle Dinge, die Sie in einem regulären Makro tun, in viel kürzerer Zeit erledigen. Die Ergebnisse werden auch vorhersehbarer, da Sie Excel genau sagen, was zu tun ist. Es gibt keine Zweideutigkeit überhaupt.

Sobald Sie Ihren VBA-Makro erstellt haben, ist es einfach zu speichern und zu teilen, so dass jeder andere davon profitieren kann. Dies ist besonders nützlich, wenn Sie mit vielen Personen arbeiten, die dieselben Aufgaben in Excel ausführen müssen.

Sehen Sie sich ein einfaches VBA-Makro an, um zu sehen, wie es funktioniert.

Ein Beispiel für ein VBA-Makro in Excel

Lassen Sie uns ein einfaches Makro betrachten. Unsere Tabelle enthält Namen von Mitarbeitern, die Geschäftsnummer, unter der die Mitarbeiter arbeiten, und deren Quartalsumsatz.

Ein Anfänger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten)

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

Sub StoreSales()

Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency

For Each Cell In Range("C2:C51")
  Cell.Activate
  If IsEmpty(Cell) Then Exit For
  If ActiveCell.Offset(0, -1) = 1 Then
    Sum1 = Sum1 + Cell.Value
  ElseIf ActiveCell.Offset(0, -1) = 2 Then
    Sum2 = Sum2 + Cell.Value
  ElseIf ActiveCell.Offset(0, -1) = 3 Then
    Sum3 = Sum3 + Cell.Value
  ElseIf ActiveCell.Offset(0, -1) = 4 Then
    Sum4 = Sum4 + Cell.Value
End If
Next Cell
 
Range("F2").Value = Sum1
Range("F3").Value = Sum2
Range("F4").Value = Sum3
Range("F5").Value = Sum4
 
End Sub

Dies könnte lang aussehen und kompliziert, aber wir machen es kaputt, damit Sie die einzelnen Elemente sehen und ein wenig über die Grundlagen von VBA lernen können.

Deklaration des Sub

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

Sie können auch Funktionen definieren, mit dem Unterschied, dass Funktionen Werte zurückgeben können, und Subs können dies tun (wenn Sie mit anderen Programmiersprachen vertraut sind, sind Subs das Äquivalent von Methoden). In diesem Fall müssen wir keinen Wert zurückgeben, sodass wir ein Sub verwenden.

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

Variablen deklarieren

Die ersten Codezeilen in unserem Skript beginnen alle mit „Dim. ” Dim ist der Befehl von VBA zum Deklarieren einer Variablen.

Also “ Dim Sum1 “ erstellt eine neue Variable mit dem Namen &ldquot; Sum1. ” Allerdings müssen wir 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 Microsoft-Hilfedokumenten.

Da unser VBA-Makro mit Währungen zu tun hat, verwenden wir den Datentyp Currency.

Die Aussage “ Dim Sum1 As Currency ” sagt Excelum eine neue Währungsvariable namens Sum1 zu erstellen. Jede Variable, die Sie deklarieren, muss ein „Wie ” Anweisung, um Excel seinen Typ mitzuteilen.

Starten einer For-Schleife

Schleifen sind einige der mächtigsten Dinge, die Sie in jeder Programmiersprache erstellen können. Wenn Sie mit Schleifen nicht vertraut sind, sehen Sie sich diese Erklärung von Do-While-Schleifen an. Funktionsweise von Do-While-Schleifen in der Computerprogrammierung Funktionsweise von Do-While-Schleifen in der Computerprogrammierung Schleifen sind eine der ersten Steuerarten, die Sie beim Programmieren lernen . Sie wissen wahrscheinlich über while und for-Schleifen, aber was macht eine Do-while-Schleife? Weiterlesen . In diesem Beispiel verwenden wir eine For-Schleife, die ebenfalls im Artikel behandelt wird.

Hier ist, wie die Schleife aussieht:

For Each Cell in Range("C2:C51")
[a bunch of stuff]
Next Cell

Dadurch wird Excel angewiesen, die Zellen in dem von uns angegebenen Bereich zu durchlaufen. Verwenden eines Bereichsobjekts Grundlegendes zu Excel-Zellen und Bereichsfunktionen in VBA Grundlegendes zu Excel-Zellen und Bereichsfunktionen in VBA Die Verwendung der Funktionen „Bereich“ und „Zellen“ in Excel kann sehr verwirrend sein. So können Sie sie mit Hilfe von VBA Read More, das ein bestimmter Objekttyp in VBA ist, auf eine Weise nutzen, die Sie wahrscheinlich nie für möglich gehalten hätten. Wenn wir es auf diese Weise verwenden, sagt Range (C2: C51), dass Excel an diesen 50 Zellen interessiert ist.

“ Für jedes “ sagt Excel, dass wir mit jeder Zelle in der Reihe etwas machen werden. “ Nächste Zelle “ kommt nach allem, was wir tun wollen, und sagt Excel, die Schleife von Anfang an zu beginnen (beginnend mit der nächsten Zelle).

Wir haben auch diese Aussage: „Wenn IsEmpty (Zelle) Dann Exit For.“

Kannst du raten, was es macht?

Hinweis: Genau genommen könnte die Verwendung einer While-Schleife eine bessere Wahl gewesen sein. 4 Fehler, die Sie beim Programmieren von Excel-Makros mit VBA 4 vermeiden können Fehler beim Programmieren von Excel-Makros mit VBA Einfacher Code und Makros sind die Schlüssel zu Microsoft Excel Superkräfte. Auch Nicht-Programmierer können ihren Tabellen mit Virtual Basics for Applications (VBA) mühelos beeindruckende Funktionen hinzufügen. Vermeiden Sie einfach diese Programmierung Anfänger Fehler! Weiterlesen . Aus Gründen der Lehre habe ich mich jedoch entschieden, eine For-Schleife mit einem Exit zu verwenden.

If-Then-Else-Anweisungen

Der Kern dieses speziellen Makros ist in den If-Then-Else-Anweisungen. Hier ist unsere Sequenz von bedingten Anweisungen:

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

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

In unserem Fall sagt das, dass Excel die Spalte mit der Geschäftsnummer konsultieren soll. 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 durchläuft alle diese Anweisungen in der richtigen Reihenfolge. Die bedingte Anweisung Verwendung von IF-Anweisungen in Microsoft Excel Verwendung von IF-Anweisungen in Microsoft Excel Ob Sie ein erfahrener Experte oder ein Tabellenkalkulations- Anfänger sind, sollten Sie dieses Handbuch zu IF-Anweisungen in Excel lesen. Read More ist zufrieden, es vervollständigt die Then-Anweisung. Wenn nicht, bewegt es sich in die nächste ElseIf. Wenn es den ganzen Weg bis zum Ende geht und keine der Bedingungen erfüllt sind, wird es keine Maßnahmen ergreifen.

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

Zellenwerte schreiben

Schließlich können wir die Ergebnisse unserer Berechnungen in Zellen schreiben. Hier sind die Zeilen, die wir verwenden:

Range("F2").Value = Sum1
Range("F3").Value = Sum2
Range("F4").Value = Sum3
Range("F5").Value = Sum4

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

Und das ist es! Wir teilen Excel mit, dass wir diesen Sub mit „End Sub, ” und das VBA-Makro ist abgeschlossen.

Wenn wir das Makro mit der Schaltfläche Makros auf der Registerkarte Entwickler ausführen, erhalten wir unseresummen:

Ein Anfänger-Tutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten)

Zusammenfügen der Bausteine ​​von VBA in Excel

Wenn Sie zuerst das VBA-Makro oben betrachten, es sieht ziemlich komplex aus. Aber nachdem er in seine Bestandteile zerlegt wurde, wird die Logik klar. Wie bei jeder Skriptsprache braucht es Zeit, um sich an die Syntax von VBA zu gewöhnen.

Aber mit etwas Übung werden Sie Ihr VBA-Vokabular aufbauen und Makros schneller, genauer und mit viel mehr Power schreiben können, als Sie jemals aufnehmen könnten.

Wenn Sie nicht weiterkommen, können Sie mit einer Google-Suche schnell Antworten auf Ihre VBA-Fragen erhalten. Und Microsoft Excel VBA-Referenz kann hilfreich sein, wenn Sie bereit sind, durch sie für eine technische Antwort zu graben.

Sobald Sie mit den Grundlagen vertraut sind, können Sie anfangen, mit VBA für Dinge wie Senden von E-Mails aus Excel, Outlook-Aufgaben exportieren So exportieren Sie Ihre Outlook-Aufgaben in Excel mit VBA So exportieren Sie Ihre Outlook-Aufgaben in Excel Mit VBA Ob Sie ein Microsoft-Fan sind oder nicht, eine gute Sache, die zumindest über MS Office-Produkte gesagt werden kann, ist, wie einfach es ist, sie alle miteinander zu kombinieren …. Lesen Sie mehr und zeigen Sie Ihre PC-Informationen So zeigen Sie alle PC-Informationen mit einem einfachen Excel VBA-Skript an So sehen Sie alle PC-Informationen mit einem einfachen Excel VBA-Skript Excel und 10 Minuten Arbeit erhalten Sie detailliertere Informationen über Ihren Computer, als Sie jemals für möglich gehalten haben. Klingt zu gut um wahr zu sein? Das ist Windows, wenn Sie wissen, wie man es benutzt. Weiterlesen .

Erfahren Sie mehr über: Coding Tutorials, Makros, Microsoft Excel, Microsoft Office 2016, Tabellenkalkulation.

q , quelle

Zusammenhängende Posts:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.