Excel: VBA - Erste Schritte

Visual Basic ist eine Programmiersprache von Microsoft. Über bestimmte Programme, wie etwa Excel, kann ein VBA-Editor geöffnet werden. Im Folgenden zeigen wir Ihnen, wie Sie diesen Editor öffnen und geben Ihnen eine kurze Einführung in die Grundsätze von Visual Basic, damit Sie lernen, wie Sie die VBA-Programmierung nutzen können.

VBA-Editor in Excel öffnen

Es ist sehr einfach, den VBA-Editor in Excel zu öffnen und dann mit dessen Hilfe einige Makros zu erstellen. Drücken Sie dazu lediglich die Tastenkombination [Alt] + [F11].

Was kann ich mit Visual Basic anfangen?

Sie können Visual Basic nutzen, um Makros zu programmieren. Diese Makros helfen Ihnen durch Ihren Office-Alltag. So können Sie Prozesse automatisieren und eine ganze Reihe an Operatoren und Befehlen mit einem einzelnen Klick starten oder auch Excel-Dokumente genau an Ihre Anforderungen anpassen und Sie beispielsweise mit zusätzlichen Eingabe- oder Ausgabe-Fenstern versehen. Außerdem können Sie VBA dazu nutzen, um auch direkte Verbindungen mit anderen Microsoft-Office Produkten einzugehen, z.B. um Dateien aus Outlook in Excel zu importieren. Weitere Tipps zur vielseitigen Verwendung von Visual Basic in Excel finden Sie direkt bei Microsoft.

Visual Basic Programmierung mit dem Excel-VBA-Editor

Eine Übersicht der wichtigsten Eingaben

Um ein neues Programm anzulegen, müssen Sie die folgenden zwei Schritte ausführen. Danach können Sie Ihr Grundgerüst mit Daten füllen, wie etwa Schleifen und Variablen.

Variablen benutzen

Sie können nun Variablen einfügen, welche Sie als einen Datentyp deklarieren müssen. Dies können Sie über den Befehl "Dim [Variable] as [Datentyp]" tun. Die Wahl des Datentyps ist dabei an den Inhalt der Variablen geknüpft:

  • Integer: Ganze Zahlen von -32768 bis 32767
  • Long: Ganze Zahlen von etwa plus/minus 2147483647
  • Double: Fließkommazahlen von etwa plus/minus 1,79 * 10^308
  • String: Zeichenkette, die 0 bis 65535 Zeichen enthalten kann
  • Boolean: Logische Werte, also nur true oder false
  • Variant: Kann beliebige Daten enthalten

For-Schleife

For

Variable = [Startwert] To [Endwert] Step [Wert]

Befehl

Next Variable

Hier wird die Schleife ausgeführt, sobald die Variable den Startwert erreicht hat. Die Variable wird dann entsprechend des nach "Step" festgelegten Wertes erhöht, bis der Endwert erreicht ist.

Do-Schleife

Do
Befehle

Loop [While/Until] Ausdruck

Hier werden Befehle ausgeführt, die von einem Ausdruck abhängig sind. Bei "while" werden die Befehle so lange ausgeführt, wie der Ausdruck gültig ist. Bei "until" werden die Befehle so lange ausgeführt, bis der Ausdruck gültig ist. So können Sie eine Schleife programmieren, die auf einen Wert immer 1 addiert, bis dieser Wert 100 erreicht. Das geht entweder mit dem Ausdruck "Loop While i<101" oder mit dem Ausdruck "Loop Until i=100". Beachten Sie, dass bei dem "While"-Ausdruck der Wert tatsächlich 101 betragen muss. Die Schleife endet dann, wenn i=100 ist, weil dies der kleinste Ausdruck unter 101 ist.

If-Entscheidung

If [Ausdruck1] Then
Befehl1

Elseif [Ausdruck2] Then

Befehl2

Else

Befehl3

End if

Mit einem If-Befehl trifft das Programm automatisch Entscheidungen. Im obenstehenden Code wird geprüft, ob Ausdruck1 stimmt. Wenn dies der Fall ist, wird Befehl1 ausgeführt. Ist dies nicht der Fall, wird geprüft, ob Ausdruck2 stimmt. Ist Ausdruck2 korrekt, wird Befehl2 ausgeführt. Passen beide Bedingungen nicht, wird Befehl 3 ausgeführt. So könnte die Schleife beispielsweise sagen:

If i>0 Then

MsgBox(Die Variable ist größer als 0.)

Elseif i<0 Then

MsgBox(Die Variable ist kleiner als 0.)

Else

MsgBox(Die Variable ist gleich 0.)

End if

In diesem Beispiel lauten die Befehle, dass ein Nachrichtenfenster erscheint. Im Folgenden zeigen wir Ihnen, wie Sie Befehle zur Daten-Ausgabe nutzen können.

Werte ausgeben

Dazu können Sie einen der folgenden Befehle einbinden, sodass Ihre Daten direkt ausgegeben werden, z.B. in der Excel-Tabelle:

  • Debug.Print [Wert] Der Wert wird im Direktbereich des VBA Editors ausgegeben.
  • MsgBox(Nachricht) Die Ausgabe erfolgt in einem separaten Fenster, einer sogenannten Messagebox.
  • [Wert] = InputBox(Eingabefrage, Titel des Fensters) Hier erfolgt die Werteeingabe durch den Benutzer in einem separaten Fenster, dessen Titel Sie selbst bestimmen können. Außerdem müssen Sie eine Frage formulieren, von der die Eingabe abhängt.
  • TabelleX.Cells(Zeile,Spalte) = [Wert] Der Wert wird in der angegebenen Tabelle innerhalb der angegebenen Zeilen und Spalten ausgegeben.
  • [Wert] = TabelleX.Cells(Zeile,Spalte) Die Werte aus der angegebenen Tabelle aus den angegebenen Zeilen und Spalten werden eingelesen.
    Beachten Sie hierbei auf jeden Fall die Position von [Wert], also ob dieser Ausdruck zu Anfang oder zu Ende steht. Davon ist abhängig, ob Ihre Daten aus einer Tabelle eingelesen werden oder in diese Tabelle ausgegeben werden.