Was ist vba in excel? (grundkenntnisse bis fortgeschrittene)

Was ist VBA?

VBA (Visual Basic for Applications) ist eine Programmiersprache, mit der Sie fast alles in Excel automatisieren können. Mit VBA können Sie auf Excel-Objekte verweisen und die damit verbundenen Eigenschaften, Methoden und Ereignisse verwenden. Beispielsweise können Sie mithilfe eines Makros eine Pivot-Tabelle erstellen, ein Diagramm einfügen und dem Benutzer ein Meldungsfeld anzeigen.

Das Verrückte ist:

Alle Aufgaben, die Sie manuell in wenigen Minuten erledigen, kann VBA in Sekundenschnelle mit einem einzigen Klick und mit der gleichen Präzision erledigen. Sie können sogar VBA-Codes schreiben, die automatisch ausgeführt werden können, wenn Sie ein Dokument, eine Arbeitsmappe oder sogar zu einem bestimmten Zeitpunkt öffnen.

Lassen Sie mich Ihnen ein konkretes Beispiel zeigen:

Jeden Morgen, wenn ich ins Büro gehe, muss ich als Erstes eine Pivot-Tabelle für die Umsätze des laufenden Monats erstellen und sie meinem Chef vorlegen. Dazu gehören jeden Tag die gleichen Schritte. Aber als mir klar wurde, dass ich mit VBA eine Pivot-Tabelle erstellen und mit nur einem Klick einfügen konnte, sparte ich 5 Minuten pro Tag.

Makrocodes zum Erstellen einer Pivot-Tabelle

So funktioniert VBA

VBA ist eine objektorientierte Sprache und als objektorientierte Sprache strukturieren wir in VBA unsere Codes so, dass wir Objekte verwenden und dann deren Eigenschaften definieren.

Vereinfacht ausgedrückt definieren wir zunächst das Objekt und dann die Aktivität, die wir ausführen möchten. Es gibt Objekte, Sammlungen, Methoden und Eigenschaften, die Sie in VBA zum Schreiben Ihres Codes verwenden können.

>Lassen Sie sich das nicht entgehen<

Nehmen wir an, Sie möchten jemandem sagen, er solle eine Kiste öffnen. Die Wörter, die Sie verwenden würden, wären „Öffne die Kiste“. Es ist einfaches Englisch, nicht wahr? Aber wenn es um VBA und das Schreiben eines Makros geht, wird es so sein:

 Box.Open

Wie Sie sehen können, wird der obige Code mit der Box begonnen, die hier unser Objekt ist. Anschließend haben wir dafür die Methode „Open“ verwendet. Lassen Sie uns etwas konkreter werden. Nehmen wir an, Sie möchten die Box öffnen, die ROT gefärbt ist. Und dafür lautet der Code:

 Boxes(“Red”).Open

Im obigen Code sind „boxes“ die Sammlung und „open“ die Methode. Wenn Sie mehrere Boxen haben, definieren wir hier eine bestimmte Box. Hier ist ein anderer Weg:

 Box(“Red”).Unlock = True

Im obigen Code sind die Kästchen wieder die Sammlung und Unlock ist die auf TRUE gesetzte Eigenschaft.

Wofür wird VBA in Excel verwendet?

In Excel können Sie VBA für verschiedene Dinge verwenden. Hier sind einige:

  • Daten eingeben : Sie können Daten in eine Zelle oder einen Zellbereich eingeben. Sie können Daten auch von einem Abschnitt in einen anderen kopieren und einfügen.
  • Aufgabenautomatisierung : Sie können Aufgaben automatisieren, die einen hohen Zeitaufwand erfordern. Das beste Beispiel, das ich nennen kann, ist die Verwendung eines Makros zum Erstellen einer Pivot-Tabelle.
  • Erstellen Sie eine benutzerdefinierte Excel-Funktion : Mit VBA können Sie auch eine benutzerdefinierte benutzerdefinierte Funktion erstellen und diese im Arbeitsblatt verwenden.
  • Add-Ins erstellen : In Excel können Sie Ihre VBA-Codes in Add-Ins umwandeln und diese auch mit anderen teilen.
  • Integration mit anderen Microsoft-Anwendungen : Sie können Excel auch mit anderen Microsoft-Anwendungen integrieren. Beispielsweise können Sie Daten in eine Textdatei eingeben.

Grundlagen der Excel-Programmierung

1. Vorgehensweise

Eine Prozedur in VBA ist eine Reihe von Codes oder eine einzelne Codezeile, die eine bestimmte Aktivität ausführt.

  1. SUB : Die Sub-Prozedur kann Aktionen ausführen, gibt jedoch keinen Wert zurück (Sie können diesen Wert jedoch mit einem Objekt abrufen).
  2. Funktion : Mit der Function-Prozedur erstellen Sie Ihre Funktion, die Sie in der Tabellenkalkulation oder den anderen SUB- und FUNCTION-Prozeduren verwenden können (siehe hier: VBA-Funktion ).

2. Variablen und Konstanten

Sie benötigen Variablen und Konstanten, um Werte mehrfach im Code zu verwenden.

  • Variable : Eine Variable kann einen Wert speichern, sie hat einen Namen, Sie müssen ihren Datentyp definieren und Sie können den gespeicherten Wert ändern. Wie der Name schon sagt, hat „VARIABLE“ keinen festen Wert. Es ist wie eine Aufbewahrungsbox, die im System aufbewahrt wird.
  • Konstante : Eine Konstante kann auch einen Wert speichern, Sie können den Wert jedoch nicht ändern, während Sie den Code ausführen.

3. Datentypen

Sie müssen den Datentyp für VARIABLEN und KONSTANTEN deklarieren.

define data type

Wenn Sie den Datentyp für eine Variable oder Konstante angeben, stellt dies die Gültigkeit Ihrer Daten sicher. Wenn Sie den Datentyp weglassen, wendet VBA den Datentyp „Variant“ auf Ihre Variable an (dies ist die flexibelste Variante). VBA kann nicht erraten, welcher Datentyp sein soll.

Tipp: Explizite VBA-Option

4. Objekte, Eigenschaften und Methoden

Visual Basic für Applikationen ist eine objektorientierte Sprache, und um das Beste daraus zu machen; Sie müssen Excel-Objekte verstehen.

Die Arbeitsmappe, die Sie in Excel verwenden, enthält verschiedene Objekte, und bei all diesen Objekten gibt es mehrere Eigenschaften, auf die Sie zugreifen können, und Methoden, die Sie verwenden können.

5. Ereignisse

Jedes Mal, wenn Sie etwas in Excel tun, ist es ein Ereignis: Geben Sie einen Wert in eine Zelle ein, fügen Sie ein neues Arbeitsblatt ein oder fügen Sie ein Diagramm ein. Nachfolgend finden Sie die Klassifizierung der Ereignisse nach Objekten:

  1. Anwendungsereignisse: Diese Ereignisse sind mit der Excel-Anwendung selbst verknüpft.
  2. Arbeitsmappenereignisse: Diese Ereignisse sind mit Aktionen verknüpft, die in einer Arbeitsmappe auftreten.
  3. Arbeitsblattereignisse: Diese Ereignisse sind mit der Aktion verknüpft, die in einem Arbeitsblatt auftritt.
  4. Diagrammereignisse: Diese Ereignisse sind mit Diagrammblättern verknüpft (die sich von Arbeitsblättern unterscheiden).
  5. Benutzerformularereignisse: Diese Ereignisse sind mit der Aktion verknüpft, die mit einem Benutzerformular ausgeführt wird.
  6. OnTime-Ereignisse: OnTime-Ereignisse sind solche, die Code zu einem bestimmten Zeitpunkt auslösen können.
  7. OnKey-Ereignisse: OnKey-Ereignisse sind solche, die einen Code auslösen können, wenn eine bestimmte Taste gedrückt wird.

6. Umfang

Das Range-Objekt ist die gebräuchlichste und beliebteste Möglichkeit, in Ihren VBA-Codes auf einen Bereich zu verweisen. Sie müssen sich auf die Zellenadresse beziehen, ich erkläre Ihnen die Syntax.

 Worksheets(“Sheet1”).Range(“A1”)

7. Bedingungen

Wie jede andere Programmiersprache können Sie auch in VBA Codes zum Testen von Bedingungen schreiben. Dies ist auf zwei verschiedene Arten möglich.

  • IF THEN‌ ELSE‌ : Dies ist eine IF-Anweisung, mit der Sie eine Bedingung testen und dann eine Codezeile ausführen können, wenn diese Bedingung TRUE ist. Sie können auch Verschachtelungsbedingungen mit schreiben
  • SELEC‌T‌ CASE : Im Select-Fall können Sie eine Bedingung und dann verschiedene Testergebnisfälle angeben, um verschiedene Codezeilen auszuführen. Sie ist etwas strukturierter als die IF-Anweisung.

8. VBA-Schleifen

Sie können Codes schreiben, die eine Aktion in VBA immer wieder wiederholen können, und es gibt mehrere Möglichkeiten, Code wie diesen zu schreiben.

  • Als Nächstes : Am besten eignet sich die Option „Für Weiter“, wenn Sie eine Reihe von Aktionen eine festgelegte Anzahl von Malen wiederholen möchten.
  • Für jedes nächste : Es eignet sich perfekt, wenn Sie eine Gruppe von Objekten aus einer Sammlung von Objekten durchlaufen möchten.
  • Do While-Schleife: Die einfache Idee hinter der Do While-Schleife besteht darin, eine Aktivität auszuführen, während eine Bedingung wahr ist.
  • Do Until-Schleife: In der Do Until-Schleife führt VBA eine Schleife aus und führt diese weiterhin aus, wenn die Bedingung FALSE ist.

9. Eingabefeld und Meldungsfeld

  • Eingabefeld : Eingabefeld ist eine Funktion, die dem Benutzer ein Eingabefeld anzeigt und eine Antwort sammelt.
  • Nachrichtenfeld : Mit dem Nachrichtenfeld können Sie dem Benutzer eine Nachricht anzeigen. Sie haben jedoch auch die Möglichkeit, dem Nachrichtenfeld Schaltflächen hinzuzufügen, um eine Antwort vom Benutzer zu erhalten.

10. Fehler

Excel hat Pech, wenn es um Programmierfehler geht, und Sie müssen sich auf jeden Fall damit auseinandersetzen.

  1. Syntaxfehler : Hierbei handelt es sich um Tippfehler, die Sie beim Schreiben von Codes machen. VBA kann Ihnen jedoch helfen, indem es diese Fehler meldet.
  2. Kompilierungsfehler: Diese treten auf, wenn Sie Code schreiben, um eine Aktivität auszuführen, diese Aktivität jedoch ungültig ist.
  3. Laufzeitfehler : Während der Codeausführung tritt ein RUNTIME-Fehler auf. Es stoppt den Code und zeigt das Fehlerdialogfeld an.
  4. Logischer Fehler : Es handelt sich nicht um einen Fehler, sondern um einen Fehler beim Schreiben des Codes, der manchmal zu Problemen bei der Suche und Behebung führen kann.

Schreiben Sie ein Makro (VBA-Programm) in Excel

Ich bin der festen Überzeugung, dass jemand, der mit dem Programmieren in Excel beginnt, immer mehr Codes von Grund auf schreiben sollte. Je mehr Codes Sie von Grund auf schreiben, desto besser verstehen Sie, wie VBA funktioniert.

Aber Sie sollten damit beginnen, einfache Codes zu schreiben, anstatt sich in komplexe Codes zu stürzen. Aus diesem Grund möchte ich nicht, dass Sie jetzt über etwas Komplexes nachdenken.

Sie können sogar Makrocode schreiben, um eine Pivot-Tabelle zu erstellen, aber im Moment möchte ich nicht, dass Sie so weit denken. Lassen Sie uns über eine Aktivität nachdenken, die Sie in Ihrer Tabelle ausführen möchten, und Sie können Code dafür schreiben.

  1. Gehen Sie zur Registerkarte „Entwickler“ und öffnen Sie den Visual Basic-Editor über die Schaltfläche „Visual Basic“.
    visual-basic-button
  2. Fügen Sie anschließend ein neues Modul aus dem „Projektfenster“ ein (Rechtsklick ➢ Einfügen ➢ Modul).
    insert-a-new-module
  3. Gehen Sie danach zum Codefenster und erstellen Sie ein Makro mit dem Namen „Enter Done“ (wir erstellen eine SUB-Prozedur), wie ich es unten habe.
    code-window
  4. Von dort aus müssen Sie den Code schreiben, über den wir gerade oben gesprochen haben. Warten Sie einen Moment und denken Sie so: Sie müssen die Zelle angeben, in die Sie den Wert einfügen möchten, und dann den Wert, den Sie eingeben möchten.
  5. Geben Sie die Zellreferenz ein. Dazu müssen Sie das RANGE-Objekt verwenden und dort die Zelladresse angeben, wie unten:
    cell-reference-range-object
  6. Geben Sie anschließend einen Punkt ein. Sobald Sie einen Punkt hinzufügen, erhalten Sie eine Liste mit Eigenschaften, die Sie festlegen können, und Aktivitäten, die Sie mit dem Bereich ausführen können.
    enter-a-dot
  7. Von hier aus müssen Sie die Eigenschaft „Wert“ auswählen und den Text festlegen, den Sie in Zelle „A1“ einfügen möchten. Dabei sieht Ihr Code in etwa wie unten aus.
    select-value
  8. Geben Sie abschließend über der Codezeile den Text ein („Dieser Code fügt den Wert „Fertig“ in Zelle A5 ein). Dies ist ein VBA-Kommentar , den Sie einfügen können, um die von Ihnen geschriebene Codezeile zu definieren.
    enter-the-text-above-line-code
 Sub Enter_Done() 'this code enters the value “Done” in the cell A5 Range("A1").Value = "Done" End Sub

Lassen Sie uns das verstehen …

Sie können diesen Code in zwei verschiedene Teile aufteilen.

  • Im ERSTEN Teil haben wir die Zellenadresse mithilfe des RANGE-Objekts angegeben . Und um mit einem Bereichsobjekt auf eine Zelle zu verweisen, müssen Sie die Zellenadresse in doppelte Anführungszeichen setzen (Sie können auch eckige Klammern verwenden).
  • Im ZWEITEN Teil haben wir den Wert angegeben, der in die Zelle eingegeben werden soll. Was Sie getan haben, ist, dass Sie die Werteigenschaft für Zelle A5 mit „.Value“ festgelegt haben. Danach geben Sie als Nächstes den Wert relativ zur Eigenschaft value an. Wann immer Sie einen Wert definieren (wenn es sich um Text handelt), müssen Sie diesen Wert in doppelte Anführungszeichen setzen.

Der beste Weg, VBA zu lernen

Hier habe ich einige der erstaunlichsten Tutorials aufgelistet (nicht in einer bestimmten Reihenfolge), die Ihnen helfen können, VBA im Handumdrehen zu lernen.

11. Funktionen

Einen Kommentar hinzufügen

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