VBA Editor: Unterschied zwischen den Versionen
Pwania (Diskussion | Beiträge) |
Pwania (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Category:vba-wiki]] | |||
== Entwicklertools == | == Entwicklertools == | ||
Zeile 17: | Zeile 18: | ||
=== Grundeinstellungen === | === Grundeinstellungen === | ||
Bevor Sie mit dem VBA-Editor arbeiten, sollten Sie folgende Einstellungen unter 'Extras', 'Optionen' vornehmen: [[Datei:VBE0101.png|400px]] | Bevor Sie mit dem VBA-Editor arbeiten, sollten Sie folgende Einstellungen unter 'Extras', 'Optionen' vornehmen: | ||
[[Datei:VBE0101.png|400px]] | |||
* 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 :-) | * 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|Anhang: Option Explicit]]. [[Datei:VBE0102.png|400px]] 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. [[Datei:VBE04.png|700px.png]] Unter 'Ansicht' sollten Sie zusätzlich noch zwei Fenster einblenden: | * 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|Anhang: Option Explicit]]. | |||
[[Datei:VBE0102.png|400px]] | |||
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. | |||
[[Datei:VBE04.png|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 '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. | * Das 'Lokal-Fenster' zeigt Ihnen während der schrittweisen Ausführung die aktuellen Werte Ihrer Variablen an. | ||
Zeile 25: | Zeile 39: | ||
=== Der erste Programmcode === | === 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: [[Datei:VBE02.png|700px]] 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. [[Datei:VBE0300.png|700px]] 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. [[Datei:VBE0301.png|700px]] Nun sind Sie optimal vorbereitet, Ihre ersten Programmierschritte zu wagen! | 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: | |||
[[Datei:VBE02.png|700px]] | |||
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. | |||
[[Datei:VBE0300.png|700px]] | |||
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. | |||
[[Datei:VBE0301.png|700px]] | |||
Nun sind Sie optimal vorbereitet, Ihre ersten Programmierschritte zu wagen! | |||
=== Die VBA Hilfe === | === Die VBA Hilfe === | ||
Zeile 44: | Zeile 72: | ||
* Folgende Konventionen gelten: | * Folgende Konventionen gelten: | ||
** Optionale Angaben werden in eckigen Klammern eingeschlossen: [Static] | ** 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:<br> [[Datei:Hilfe_01.png|700px]] Sprachumstellung ganz unten links ('Deutschland - Deutsch'):<br> [[Datei:Hilfe_02.png|700px]] Sprachumstellung gleich am Seitenanfang, Hinweis zur Anzeige des Originaltextes:<br> [[Datei:Hilfe_03.png|700px]] | ** Mehrere optionale Möglichkeiten werden zusätzlich durch das Pipe-Symbol '|' getrennt: [ Private | Public | Friend ] Eine typische Hilfeseite mit den hier beschriebenen optionalen Angaben:<br> [[Datei:Hilfe_01.png|700px]] | ||
Sprachumstellung ganz unten links ('Deutschland - Deutsch'):<br> [[Datei:Hilfe_02.png|700px]] | |||
Sprachumstellung gleich am Seitenanfang, Hinweis zur Anzeige des Originaltextes:<br> [[Datei:Hilfe_03.png|700px]] | |||
== Die Bestandteile des Editors == | == Die Bestandteile des Editors == | ||
Zeile 54: | Zeile 86: | ||
==== Ausgabefenster für Debug.Print ==== | ==== Ausgabefenster für Debug.Print ==== | ||
Mit dem Befehl 'Debug.Print' kann während der Ausführung eine Information im Direktbereich ausgegeben werden. [[Datei:DebugPrint.png|700 px]] '''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. | Mit dem Befehl 'Debug.Print' kann während der Ausführung eine Information im Direktbereich ausgegeben werden. | ||
[[Datei:DebugPrint.png|700 px]] | |||
'''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 ==== | ==== 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'): [[Datei:ImmediateExecuteSub.png|700 px]] oder eine beliebige Methode: [[Datei: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: [[Datei:ImmediateAsk01.png]] [[Datei:ImmediateAsk02.png]] | 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'): | ||
[[Datei:ImmediateExecuteSub.png|700 px]] | |||
oder eine beliebige Methode: | |||
[[Datei: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: | |||
[[Datei:ImmediateAsk01.png]] | |||
[[Datei:ImmediateAsk02.png]] |
Aktuelle Version vom 28. Januar 2023, 00:36 Uhr
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
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:
Grundeinstellungen
Bevor Sie mit dem VBA-Editor arbeiten, sollten Sie folgende Einstellungen unter 'Extras', 'Optionen' vornehmen:
- 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.
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.
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:
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.
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.
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:
Sprachumstellung ganz unten links ('Deutschland - Deutsch'):
Sprachumstellung gleich am Seitenanfang, Hinweis zur Anzeige des Originaltextes:
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.
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'):
oder eine beliebige Methode:
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: