VBA Editor

Aus VBA-wiki
Wechseln zu: Navigation, Suche

Entwicklertools

Seit Office 2007 verwenden die Office Anwendungen das Menüband als primäre Benutzeroberfläche, wodurch die bis dahin üblichen Menüs und Symbolleisten entfallen. Die Funktionen des Menüs 'Extras', 'Makro' befinden sich nun im Reiter 'Entwicklertools', welches jedoch standardmäßig ausgeblendet ist. ;Entwicklertools einblenden

  • Office 2010 und später
    • 'Datei', 'Optionen', 'Menüband anpassen', in der rechten Spalte 'Hauptregisterkarten' den Eintrag 'Entwicklertools' aktivieren

Entwicklertools.png

Der VBA Editor

Den VBA-Editor können Sie mit dem Tastenkürzel 'ALT+F11' oder über den Reiter 'Entwicklertools', 'Visual Basic' aufrufen.

Beim ersten Start sollte der VBA-Editor etwa wie folgt aussehen:

VBE01.png

Grundeinstellungen

Bevor Sie mit dem VBA-Editor arbeiten, sollten Sie folgende Einstellungen unter 'Extras', 'Optionen' vornehmen:

VBE0101.png

  • Die 'automatische Syntaxüberprüfung' bitte ausschalten, sonst bekommen Sie zusätzlich zu bestimmten Fehlern, die sowieso rot hervorgehoben werden, einen Warndialog angezeigt. Sie werden dadurch keine Fehler verpassen oder gar etwas kaputt machen, nur weniger belästigt :-)
  • Aktivieren Sie die Option 'Variablendeklaration erforderlich'. Dies schützt Sie davor, dass Sie nicht merken, wenn eine Variable nicht korrekt geschrieben ist. Sie führt dazu, dass von nun an automatisch in jedem neu erstellten Modul die Anweisung 'Option Explicit' in der ersten Zeile erscheint.

Siehe auch Anhang: Option Explicit.

VBE0102.png

Auf dem Zweiten Reiter 'Editorformat' können Sie zusätzlich die 'Code Farbe' für 'Normalen Text' zum Beispiel dunkelgrau einstellen, damit Zeichenketten besser erkennbar sind.

700px.png

Unter 'Ansicht' sollten Sie zusätzlich noch zwei Fenster einblenden:

  • Das 'Direktfenster' (der 'Direktbereich') erlaubt es Ihnen, zum Beispiel Zwischenergebnisse auszugeben oder direkt einzelne Befehle auszuführen.
  • Das 'Lokal-Fenster' zeigt Ihnen während der schrittweisen Ausführung die aktuellen Werte Ihrer Variablen an.

Der erste Programmcode

Bitte ignorieren Sie vorerst die im Projekt-Explorer angezeigten Module 'DieseArbeitsmappe' und 'Tabelle1' (bei Word 'ThisDocument').

Diese haben spezielle Aufgaben und sollten für diese vorbehalten bleiben. Fügen Sie stattdessen mit der rechten Maustaste (oder über den Befehl 'Einfügen', 'Modul') ein neues Modul hinzu:

VBE02.png

Anfangs werden Module oft in der Normalansicht angezeigt, also als verkleinertes Fenster. Wenn Sie später mehrere Module in Ihrem Projekt haben, kann diese Ansicht sehr verwirrend werden. Klicken Sie daher bitte doppelt auf den Titel des Fensters, um es zu maximieren.

VBE0300.png

Danach können Sie bei Bedarf immer noch die Knöpfe im hier mit dem grünen Pfeil bezeichneten Bereich verwenden, um die Module zu vergrößern oder zu verkleinern.

VBE0301.png

Nun sind Sie optimal vorbereitet, Ihre ersten Programmierschritte zu wagen!

Die VBA Hilfe

Die Hilfe aufrufen

Wenn Sie zu einem bestimmten Befehl Hilfe benötigen, markieren Sie das Wort und drücken Sie die 'F1'-Taste. Sie werden sofort zum entsprechenden Thema der Online-Hilfe geführt. Der VBA-Editor bietet Ihnen zwar ebenfalls ein Fragezeichen in der Symbolleiste sowie im Menü '?', diese rufen jedoch meistens nur die generelle Excel-Hilfe auf ...

Die Hilfe verstehen

Um die integrierte Online-Hilfe optimal einsetzen zu können, beachten Sie bitte folgendes:

  • Die Information 'Gültig ab Office ####' können Sie in fast allen Fällen ignorieren, denn sie erscheint über jedem Hilfe-Eintrag. Nur sehr wenige Befehle stehen tatsächlich erst ab einer bestimmten Office-Version zur Verfügung.
  • Sämtliche Hilfethemen sind aus dem U.S.-Englischen übersetzt worden.
    • Auflistungen zum Beispiel im Glossar erscheinen daher nach den englischen Begriffen sortiert.
    • Oftmals sind die Übersetzungen unverständlich.
      • Manchmal wird, wenn Sie die Maus über einem Absatz ruhen lassen, die Originaltexte angezeigt.
      • Oder Sie können irgendwo auf der Seite die Sprache umstellen und den Hilfetext somit auf Englisch anzeigen lassen.
  • Folgende Konventionen gelten:
    • Optionale Angaben werden in eckigen Klammern eingeschlossen: [Static]
    • Mehrere optionale Möglichkeiten werden zusätzlich durch das Pipe-Symbol '|' getrennt: [ Private | Public | Friend ] Eine typische Hilfeseite mit den hier beschriebenen optionalen Angaben:
      Hilfe 01.png

Sprachumstellung ganz unten links ('Deutschland - Deutsch'):
Hilfe 02.png

Sprachumstellung gleich am Seitenanfang, Hinweis zur Anzeige des Originaltextes:
Hilfe 03.png

Die Bestandteile des Editors

Das Direktfenster

Das Direktfenster wird durch 'Ansicht', 'Direktfenster' bzw. dem Tastenkürzel 'STRG+G' eingeblendet. Das Direktfenster dient als direktes Ausgabefenster für den Debug.Print-Befehl und als direktes Eingabefenster für einfache Befehle.

Ausgabefenster für Debug.Print

Mit dem Befehl 'Debug.Print' kann während der Ausführung eine Information im Direktbereich ausgegeben werden.

DebugPrint.png

Bitte beachten: Die Ausgabe in das Direktfenster erfolgt immer bei der Einfügmarke. Wenn Sie ein Wort im Direktfenster markieren, wird dieses zum Beispiel durch den neuen Ausgabewert überschrieben. Ansonsten erfolgt die Ausgabe immer in eine neue Zeile.

Eingabefenster für einfache Befehle

Sie können im Direktfenster auch direkt Befehle eingeben und diese dann durch Betätigung der Eingabetaste ausführen. Diese Befehle müssen auf eine Zeile beschränkt und in sich geschlossen sein, dürfen also zum Beispiel keine Variablen enthalten. Ausnahme: Wenn Sie gerade eine Prozedur schrittweise ausführen, können Sie zum Beispiel auf Variablen zugreifen, die in der aktuellen Prozedur deklariert wurden. Die Werte sind dann die im bisherigen Programmlauf ermittelten Werte. Sie können somit eigene (öffentliche) Prozeduren aufrufen (in diesem Beispiel 'MySub'):

ImmediateExecuteSub.png

oder eine beliebige Methode:

ImmediatePerformCommand.png

Wenn Sie einem Funktionsnamen bzw. einer Eigenschaft ein Fragezeichen voranstellen, wird nach der Bestätigung mit der Eingabetaste das Ergebnis in der folgenden Zeile ausgegeben:

ImmediateAsk01.png

ImmediateAsk02.png