Wie verwende ich Visual Basic for Application (VBA) in Excel?

Visual Basic for Application ( VBA ) ist eine Programmiersprache , mit der Sie die Funktionalität von Excel erweitern und sich wiederholende Aufgaben automatisieren können. Mit VBA können Sie Makros, Formulare, benutzerdefinierte Funktionen und interaktive Anwendungen erstellen. In diesem Artikel lernen Sie die Grundlagen von VBA in Excel kennen und erfahren, wie Sie damit einfache oder komplexe Vorgänge ausführen können.

Wie greife ich in Excel auf VBA zu?

GetPaidStock.com 64886528e3bbe

Um in Excel auf VBA zugreifen zu können, müssen Sie die Registerkarte „Entwickler“ im Menüband aktivieren. Gehen Sie dazu folgendermaßen vor:

  • Klicken Sie auf die Schaltfläche „Datei“ und dann auf „Optionen“.
    tth img w10 app excel-datei
  • Klicken Sie im Fenster „Excel-Optionen“ auf „Menüband anpassen“.
    tth img w10 App Excel-Datei Persönliche Option Ribbon Dev
  • Aktivieren Sie in der Liste der Hauptregisterkarten das Kontrollkästchen „Entwickler“ und klicken Sie dann auf „OK“.

Anschließend wird im Menüband die Registerkarte „Entwickler“ angezeigt. Diese Registerkarte enthält mehrere VBA-bezogene Tools, z. B. die Schaltfläche „Visual Basic“, die Schaltfläche „Makro aufzeichnen“ oder die Schaltfläche „Steuerelement einfügen“.

tth img w10 app excel dev
tth img w10 app excel dev vba

Die Visual Basic-Schaltfläche öffnet den Visual Basic Editor (VBE), in dem Sie VBA-Code erstellen und bearbeiten. Die Schaltfläche „Makro aufzeichnen“ generiert automatisch VBA-Code, der die von Ihnen in der Anwendung ausgeführten Aktionen reproduziert. Mit der Schaltfläche „Steuerelement einfügen“ können Sie Ihrem Arbeitsblatt interaktive Elemente hinzufügen, z. B. Schaltflächen, Kontrollkästchen oder Dropdown-Listen.

Wie schreibe ich VBA-Code in Excel?

Um VBA-Code in Excel zu schreiben, müssen Sie den Visual Basic Editor (VBE) verwenden. Um es zu öffnen, klicken Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Visual Basic“.

Die VBE besteht aus mehreren Fenstern:

tth img w10 app excel dev vba 1 1
  • Das Projektfenster zeigt die hierarchische Struktur von Objekten an, die VBA-Code enthalten. Wenn Sie beispielsweise über eine Arbeitsmappe namens „MyWorkbook.xlsm“ mit zwei Blättern namens „Sheet1“ und „Sheet2“ verfügen, werden unter „MyWorkbook.xlsm“ die Objekte „Sheet1“ und „Sheet2“ sowie ein Objekt mit dem Namen „ThisWorkbook“ angezeigt.
    tth img w10 app excel dev vba projektfenster
  • Das Eigenschaftenfenster zeigt die Eigenschaften des im Projektfenster ausgewählten Objekts an. Wenn Sie beispielsweise das Sheet1-Objekt auswählen, werden seine Eigenschaften wie sein Name (Name), seine Farbe (Tab.Color), sein Code (CodeName) usw. angezeigt.
    tth img w10 app excel dev vba Eigenschaftsfenster
  • Im Codefenster wird der VBA-Code angezeigt, der dem im Projektfenster ausgewählten Objekt zugeordnet ist. Wenn Sie beispielsweise das Objekt „Sheet1“ auswählen, wird der VBA-Code angezeigt, der ausgeführt wird, wenn Sie mit dem Arbeitsblatt „Sheet1“ interagieren.
    tth img w10 app excel dev vba fenstercode
  • Im Direktfenster werden VBA-Code-Ergebnisse oder Fehlermeldungen angezeigt. Wenn Sie beispielsweise die MsgBox-Funktion verwenden, um dem Benutzer eine Nachricht anzuzeigen, wird die Nachricht im Direktfenster angezeigt.
    tth img w10 app excel dev vba fenster

Um VBA-Code zu schreiben, müssen Sie bestimmte Syntaxregeln befolgen:

  • Jede Anweisung muss mit einem Zeilenumbruch oder einem Doppelpunkt (:) enden.
  • Schlüsselwörter der VBA-Sprache müssen in Groß- oder Kleinschreibung geschrieben werden, nicht jedoch die Namen von Objekten, Eigenschaften oder Methoden, bei denen die Groß-/Kleinschreibung beachtet wird.
  • Kommentaren muss ein Apostroph (') oder ein Rem-Zeichen vorangestellt werden und sie müssen in einer separaten Zeile oder nach einer Anweisung geschrieben werden.
  • Zeichenfolgen müssen in doppelte Anführungszeichen (“) eingeschlossen werden.
  • Die arithmetischen Operatoren sind +, -, *, / und ^ (Potenz).
  • Die logischen Operatoren sind And, Or, Not, Xor und Glv.
  • Die Vergleichsoperatoren sind =, <>, <, <=, > und >=.
  • Die vordefinierten Konstanten sind True, False, Null, Empty, Nothing und vbNullString.

Hier ist ein Beispiel für einen VBA-Code, der dem Benutzer eine Nachricht anzeigt:

Sub Hello() ' Dies ist ein MsgBox-Kommentar „Hallo, ich bin Bing!“ ' Zeigt eine End Sub-Meldung an 

Wie verwende ich Excel-Tabellenfunktionen in VBA?

Sie können die meisten Excel-Tabellenfunktionen in Ihren VBA-Anweisungen verwenden. Dazu müssen Sie die folgende Syntax verwenden:

Application.WorksheetFunction.FunctionName(argument1, argument2, ...)

Wenn Sie beispielsweise die SUM-Funktion verwenden möchten, um die Summe der Werte im Bereich A1:A10 zu berechnen, können Sie schreiben:

Sub Sum() Dim result As Double ' Deklariert eine Variable vom Typ Double result = Application.WorksheetFunction.Sum(Range("A1:A10")) ' Weist das Ergebnis der SUM-Funktion der Variablen MsgBox result ' Zeigt das Ergebnis End an Sub

Sie können auch benutzerdefinierte Funktionen verwenden, die Sie selbst in VBA erstellen. Dazu müssen Sie die folgende Syntax verwenden:

Function FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Deklarationen und Anweisungen FunctionName = expression ' Weist der Funktion das zurückzugebende Ergebnis zu End Function

Wenn Sie beispielsweise eine Funktion erstellen möchten, die das Quadrat einer Zahl berechnet, können Sie Folgendes schreiben:

Function Square(number As Double) As Double ' Deklariert eine Funktion, die eine Zahl als Argument akzeptiert und eine Zahl zurückgibt. Square = Zahl * Zahl ' Weist der Funktion End Function das Quadrat der Zahl zu

Anschließend können Sie diese Funktion in Ihren VBA-Anweisungen oder in Ihren Excel-Formeln verwenden. Zum Beispiel :

Sub Test() Dim x As Double ' Deklariert eine Variable vom Typ Double x = 5 ' Weist der Variablen den Wert 5 zu MsgBox Square(x) ' Zeigt das Quadrat von x End Sub an

Wie erstelle ich Makros in Excel?

Ein Makro ist eine Reihe von VBA-Anweisungen, die alle auf einmal ausgeführt werden. Sie können Makros erstellen, um wiederkehrende oder komplexe Aufgaben in Excel zu automatisieren. Es gibt zwei Möglichkeiten, Makros zu erstellen: durch Aufzeichnen oder durch Schreiben.

Zeichnen Sie ein Makro auf

Zum Aufzeichnen eines Makros müssen Sie die Schaltfläche „Makro aufzeichnen“ auf der Registerkarte „Entwickler“ des Menübands verwenden, um in Excel ausgeführte Aktionen zu erfassen und sie in VBA-Code zu konvertieren. Dies ist die einfachste und schnellste Möglichkeit, ein Makro zu erstellen, kann jedoch zu schlecht optimiertem oder redundantem Code führen.

Um ein Makro aufzuzeichnen, gehen Sie folgendermaßen vor:

  • Klicken Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Makro aufzeichnen“.
    tth img w10 app excel dev makro speichern
  • Geben Sie im Dialogfeld „Makro aufzeichnen“ Ihrem Makro einen Namen, wählen Sie bei Bedarf eine Tastenkombination aus, wählen Sie einen Speicherort für Ihr Makro aus (aktive Arbeitsmappe, neue Arbeitsmappe oder persönliche Arbeitsmappe) und schreiben Sie bei Bedarf eine Beschreibung.
    tth img w10 app excel dev makro speichern
  • Klicken Sie auf OK, um die Aufnahme zu starten.
  • Führen Sie die Aktionen aus, die Sie in Excel automatisieren möchten. Wenn Sie beispielsweise ein Makro erstellen möchten, das eine Tabelle formatiert, wählen Sie die Tabelle aus, formatieren Sie sie, sortieren Sie sie alphabetisch usw.
  • Klicken Sie auf der Registerkarte „Entwickler“ der Multifunktionsleiste auf die Schaltfläche „Aufzeichnung beenden“, um die Aufzeichnung zu beenden.

Anschließend können Sie Ihr Makro mit der von Ihnen gewählten Tastenkombination ausführen, indem Sie auf der Registerkarte „Entwickler“ der Multifunktionsleiste auf die Schaltfläche „Makros“ klicken oder in der VBE die Schaltfläche „Ausführen“ verwenden.

Schreiben Sie ein Makro

Beim Schreiben eines Makros wird mithilfe der VBE direkt der VBA-Code eingegeben, der den Aktionen entspricht, die Sie automatisieren möchten. Dies ist die flexibelste und leistungsstärkste Methode zum Erstellen eines Makros, erfordert jedoch Programmierkenntnisse.

Um ein Makro zu schreiben, gehen Sie folgendermaßen vor:

  • Öffnen Sie die VBE, indem Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Visual Basic“ klicken.
    tth img w10 app excel dev vba
  • Wählen Sie im Projektfenster das Objekt aus, in dem Sie Ihr Makro speichern möchten (aktive Arbeitsmappe, neue Arbeitsmappe oder persönliche Arbeitsmappe).
  • Geben Sie im Codefenster den VBA-Code ein, der den Aktionen entspricht, die Sie automatisieren möchten. Wenn Sie beispielsweise ein Makro erstellen möchten, das eine Tabelle formatiert, geben Sie den folgenden Code ein:
Sub FormatTable() ' Wählt die Tabelle Range("A1:D10").Select ' Wendet einen Stil auf die Tabelle an Selection.Style = "Table 1" ' Sortiert die Tabelle alphabetisch nach Spalte A ActiveWorkbook.Worksheets("Sheet1" ). Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A10") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal Mit ActiveWorkbook .Worksheets ("Sheet1").Sort .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

Sie können Ihr Makro dann ausführen, indem Sie die Schaltfläche „Ausführen“ in der VBE verwenden oder ihm eine Tastenkombination oder ein Steuerelement zuweisen.

tth img w10 app excel dev vba testcode

FAQs

Hier sind einige häufig gestellte Fragen zur Verwendung von VBA in Excel:

Was ist VBA und warum wird es verwendet?

VBA ist die Version von Visual Basic, die im Lieferumfang von Microsoft Office enthalten ist. Es handelt sich um eine objektorientierte Programmiersprache , die eine Syntax verwendet, die der natürlichen Sprache ähnelt. Mit VBA können Sie mithilfe von Code auf die Objekte, Eigenschaften und Methoden von Excel zugreifen und diese bearbeiten. Sie können Excel daher feiner und leistungsfähiger steuern als über die grafische Oberfläche.

Die Verwendung von VBA hat mehrere Vorteile:

  • Sie können sich wiederholende oder langwierige Aufgaben wie das Bereinigen von Daten, das Formatieren von Tabellen, das Erstellen von Diagrammen und mehr automatisieren.
  • Sie können Excel an Ihre spezifischen Bedürfnisse anpassen, indem Sie Funktionen hinzufügen, die in der Software nicht vorhanden sind, oder deren Verhalten ändern.
  • Sie können mit dem Benutzer über Dialoge, Formulare oder benutzerdefinierte Nachrichten interagieren.
  • Sie können Excel in andere Office-Anwendungen oder externe Datenquellen wie Outlook, Word, Access, SQL Server usw. integrieren.

Wie debugge ich VBA-Code in Excel?

Um VBA-Code in Excel zu debuggen, können Sie VBE-Tools wie Haltepunkte, Schritte, Überwachungsfenster oder Gebietsschemafenster verwenden. Mit diesen Tools können Sie die Codeausführung steuern, Variablenwerte überprüfen und Fehler erkennen.

Wie schützt man VBA-Code in Excel?

Um VBA-Code in Excel zu schützen, können Sie das VBA-Projekt mit einem Passwort sperren. Gehen Sie dazu folgendermaßen vor:

  • Öffnen Sie die VBE, indem Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Visual Basic“ klicken.
  • Klicken Sie im Projektfenster mit der rechten Maustaste auf den Namen des VBA-Projekts und wählen Sie „VBA-Projekteigenschaften“.
  • Klicken Sie im Dialogfeld „VBA-Projekteigenschaften“ auf die Registerkarte „Schutz“.
  • Aktivieren Sie das Kontrollkästchen „Projekt zum Anzeigen sperren“, geben Sie ein Passwort ein und bestätigen Sie es.
  • Klicken Sie auf OK, um das Dialogfeld zu schließen.
  • Speichern und schließen Sie die Arbeitsmappe.

Wie führe ich beim Öffnen oder Schließen einer Arbeitsmappe ein Makro aus?

Um beim Öffnen oder Schließen einer Arbeitsmappe ein Makro auszuführen, müssen Sie die Ereignisse Workbook_Open oder Workbook_BeforeClose verwenden. Gehen Sie dazu folgendermaßen vor:

  • Öffnen Sie die VBE, indem Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Visual Basic“ klicken.
  • Wählen Sie im Projektfenster das ThisWorkbook-Objekt unter dem Arbeitsmappennamen aus.
  • Wählen Sie im Codefenster oben links in der Dropdown-Liste „Objekt“ die Option „Arbeitsmappe“ aus.
  • Wählen Sie „Öffnen“ oder „BeforeClose“ aus der Dropdown-Liste „Verfahren“ oben rechts.
  • Geben Sie den VBA-Code ein, der das Makro aufruft, das Sie ausführen möchten. Zum Beispiel :
Private Sub Workbook_Open() ' Führt das Hello-Makro aus, wenn die Arbeitsmappe Hello End Sub geöffnet wird. Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Führt das AuRevoir-Makro aus, wenn die Arbeitsmappe AuRevoir End Sub geschlossen wird

Wie erstelle ich ein Formular in Excel mit VBA?

Um ein Formular in Excel mit VBA zu erstellen, müssen Sie den Formulardesigner von VBE verwenden. Gehen Sie dazu folgendermaßen vor:

  • Öffnen Sie die VBE, indem Sie auf der Registerkarte „Entwickler“ des Menübands auf die Schaltfläche „Visual Basic“ klicken.
  • Klicken Sie im Projektfenster mit der rechten Maustaste auf den Namen des VBA-Projekts und wählen Sie „Einfügen“ und dann „UserForm“.
  • Es öffnet sich ein neues UserForm-Fenster. Sie können Steuerelemente wie Beschriftungen, Textfelder, Schaltflächen usw. hinzufügen. indem Sie sie aus der Toolbox ziehen.
  • Sie können die Eigenschaften von Steuerelementen im Eigenschaftenfenster ändern oder VBA-Code schreiben, um ihre Ereignisse im Codefenster zu verarbeiten.
  • Um das Formular anzuzeigen, können Sie die Show-Methode verwenden. Zum Beispiel :
Sub ShowForm() ' Zeigt das Formular UserForm1 UserForm1.Show End Sub

Wie erstelle ich mit VBA eine benutzerdefinierte Funktion in Excel?

Um eine benutzerdefinierte Funktion in Excel mit VBA zu erstellen, müssen Sie die folgende Syntax verwenden:

Function FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Deklarationen und Anweisungen FunctionName = expression ' Weist der Funktion das zurückzugebende Ergebnis zu End Function

Wenn Sie beispielsweise eine Funktion erstellen möchten, die das Quadrat einer Zahl berechnet, können Sie Folgendes schreiben:

Function Square(number As Double) As Double ' Deklariert eine Funktion, die eine Zahl als Argument akzeptiert und eine Zahl zurückgibt. Square = Zahl * Zahl ' Weist der Funktion End Function das Quadrat der Zahl zu

Anschließend können Sie diese Funktion in Ihren VBA-Anweisungen oder in Ihren Excel-Formeln verwenden. Zum Beispiel :

Sub Test() Dim x As Double ' Deklariert eine Variable vom Typ Double x = 5 ' Weist der Variablen den Wert 5 zu MsgBox Square(x) ' Zeigt das Quadrat von x End Sub an

Sie können auch benutzerdefinierte Funktionen verwenden, die Sie selbst in VBA erstellen. Dazu müssen Sie die folgende Syntax verwenden:

Function FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Deklarationen und Anweisungen FunctionName = expression ' Weist der Funktion das zurückzugebende Ergebnis zu End Function

Wenn Sie beispielsweise eine Funktion erstellen möchten, die das Quadrat einer Zahl berechnet, können Sie Folgendes schreiben:

Function Square(number As Double) As Double ' Deklariert eine Funktion, die eine Zahl als Argument akzeptiert und eine Zahl zurückgibt. Square = Zahl * Zahl ' Weist der Funktion End Function das Quadrat der Zahl zu

Anschließend können Sie diese Funktion in Ihren VBA-Anweisungen oder in Ihren Excel-Formeln verwenden. Zum Beispiel :

Sub Test() Dim x As Double ' Deklariert eine Variable vom Typ Double x = 5 ' Weist der Variablen den Wert 5 zu MsgBox Square(x) ' Zeigt das Quadrat von x End Sub an

Oder

=Quadrat(A1) ' Berechnet das Quadrat des Werts von Zelle A1

Abschluss

In diesem Artikel haben Sie gelernt, wie Sie Visual Basic for Application (VBA) in Excel verwenden. Sie haben gesehen, was VBA ist und warum man es verwendet, wie man in Excel auf VBA zugreift, wie man VBA-Code in Excel schreibt, wie man Excel-Arbeitsblattfunktionen in VBA verwendet, wie man Makros in Excel mit VBA erstellt und wie man Formulare erstellt Excel mit VBA und wie man benutzerdefinierte Funktionen in Excel mit VBA erstellt. Zu den benutzerdefinierten Funktionen, die Sie mit VBA erstellen können, gehört Durchführung einer Subtraktion in Excel . Sie können jetzt die Programmierleistung von VBA nutzen, um Excel nach Bedarf anzupassen und zu automatisieren.

Vorheriger Artikel Wie lernt man Python auf Anfängerniveau?
Nächster Artikel Wie verbinde ich mich mit meiner Bouygues Telecom-Mailbox?