Erweiterter VBA-IntelliSense

IntelliSense ist eine Sammlung von Funktionen zur Unterstützung bei der Code-Bearbeitung, die Entwicklern helfen, Code schneller und fehlerfreier zu schreiben. Hier zeigen wir die Verwendung der von Code VBA bereitgestellten VBA-IntelliSense-Erweiterungen in etwa in der Reihenfolge, in der Sie ihnen beim Programmieren begegnen werden, und zwar von einfachen bis hin zu komplexeren Funktionen.

Eine neue Prozedur hinzufügen

Untermenü

Wenn Sie mit dem Schreiben einer Prozedur beginnen und das s für „Sub“ oder f (Function) oder „pro“ (Property) eingeben, wird sofort ein entsprechendes Menü angezeigt. Durch Auswahl des ersten Eintrags wird der Standardblock eingefügt, wobei der Cursor direkt vor „()“ steht, damit Sie den Namen der Prozedur eingeben können.


Sub |()

End Sub

Beim ersten Mal wirst du von diesem Verhalten überrascht sein und dich vielleicht sogar über die Unterbrechung ärgern. Positiv ist jedoch, dass du feststellen wirst, dass das Menü einige Funktionen bietet, die es wert sind, näher betrachtet zu werden.

Variablen deklarieren

Dim Menü zur Vervollständigung von Variablendeklarationen

Excel-Menü „Dimension“

Wenn Sie dim (ein Schlüsselwort-Trigger) eingeben, wird das Menü zur Vervollständigung von Variablendeklarationen geöffnet. Durch Auswahl des gewünschten Typs wird die Standarddeklaration eingefügt.

Dim wb| As Workbook

Geben Sie nach dem Präfix einen geeigneten Namen ein, um die Deklaration zu vervollständigen.

Automatische Fertigstellungsanzeige

Mit der Funktion „Auto Declare“ musst du Variablen eigentlich gar nicht mehr selbst deklarieren. Wenn du zum Beispiel Folgendes eingibst:

strName=

... zusätzlich zum Anzeigen des Zuweisungsmenüs (siehe nächster Abschnitt) wurde folgende Deklaration hinzugefügt:


Dim strName As String
strName=

Vorschläge zur Variablenzuweisung

Name der Variablenzuweisung

Bei einer Variablenzuweisung wie oben erscheint auf der rechten Seite ein Menü mit Vorschlägen. Diese hängen vom Typ der Variablen ab. Im Beispiel mit der Zeichenkette „strName“ gibt es zahlreiche Optionen, um nur einige zu nennen:

  • Ein leeres String-Literal "" zum Ausfüllen
  • Eine neue Variable, Funktion oder Konstante, die automatisch deklariert werden soll
  • Eine Variable, die in der Prozedur bereits bekannt ist; sie kann vom Typ „String“ sein, Visual Basic lässt jedoch auch andere Typen zu.
  • Ein Name, der irgendwo in Ihrem Projekt vorkommt, oder ein Ordner- bzw. Dateiname, der über ein Dialogfeld ausgewählt werden kann.
  • A VBEin Funktionsaufruf wie beispielsweise Trim(...)
  • Ein Eigenschaftswert eines Objekts (ActiveCell.Value), usw.
variables Zuweisungsdatum

Beispiel

Wenn wir der Variablen „Date“ einen Wert zuweisen, sieht das Menü wie auf dem Screenshot rechts aus. Sie können Code auswählen und einfügen für

  • Drei Literale, die ein Datum und/oder eine Uhrzeit darstellen: #2/12/2026 7:58:06 AM# .
  • Verwenden Sie die Date Funktion, die das heutige Datum oder „Now“ für Datum und Uhrzeit zurückgibt.
  • Verwenden Sie die DateAdd Funktion zur Berechnung eines Datums/einer Uhrzeit in der Zukunft.
  • Wählen Sie einen Codeausschnitt aus, um ein Datum in der Zukunft zu berechnen, z. B. First day in month: dt = DateSerial(Year(dt), Month(dt), 1). Es steht eine lange Liste solcher Datumsfunktionen zur Verfügung; diese befinden sich in der VBA-Code-Bibliothek.

Vorschläge zur Zuweisung von Objektvariablen

Gültigkeitsbereich der Objektvariablen

Die integrierte Unterstützung für die Zuweisung von Objektvariablen nutzt fundierte Kenntnisse der entsprechenden Objekte der Office-Anwendung, um Vorschläge für die Definition eines Objekts eines bestimmten Typs zu unterbreiten.

  • Bereiche beziehen sich immer auf ein Arbeitsblatt. Hier haben wir „Blatt1“ ausgewählt, aber der Code könnte auch von einer Variablen „Neues Blatt“ ausgehen
  • Der Code, der beim Klicken auf ein Element eingefügt wird, wird in einem Tooltip angezeigt.
  • Im vorliegenden Beispiel ist das Menü mit … gekennzeichnet, was darauf hinweist, dass durch Anklicken ein Dialogfeld geöffnet wird. In diesem Fall handelt es sich um das Dialogfeld „Procedure Call Builder“, in dem Sie die Details der Range-Methoden angeben können.
  • Das Schlüsselwort „Set“ wird automatisch hinzugefügt, um die Zuweisung der Variablen „Object“ syntaktisch korrekt zu machen.

Dim rng As Range
Set rng = Sheet1.Range(Cell1:="A4", Cell2:="D10")

Vervollständigung von Anweisungen festlegen

Dies wird noch weiter ausgebaut, indem das System bei dem Trigger-Schlüsselwort Set die Objektvariablen in der aktuellen Prozedur kennt und vollständige Anweisungen schreiben kann, indem es das Wissen darüber, welche Objekte verfügbar sind, mit deren Methoden kombiniert, die zum Setzen eines zugehörigen Objekts verwendet werden können.

Vervollständigung von Anweisungen
Die Anweisungsergänzung „Set“ wird hier verwendet, um den Bereich der Abonnements im Arbeitsblatt „Account“ anzugeben.

Wenn im Untermenü „Bereich“ die Option „Neue String-Variable“ ausgewählt ist, wird der folgende Code erstellt – unter Verwendung des Standardvariablennamens im Dialogfeld.


Dim strRange As String: strRange =
Set rngSubscriptions = wsAccount.Range(Cell1:=strRange)

Anschließend können Sie den fehlenden Namen ganz einfach zuweisen, indem Sie den Cursor hinter „strRange =“ setzen und die Vervollständigungsvorschläge für Zuweisungsanweisungen aktivieren.

Bereich auswählen
Bereich des Vervollständigungsmenüs verwenden

Dim strRange As String: strRange = "[Account4223.xlsm]Sheet1!B4:C6"

Vorschlag zur Vervollständigung des Arguments

Beim Aufruf einer Prozedur müssen Sie häufig Argumente für die Prozedurparameter angeben. Die Argumentvervollständigung ist hierfür sehr praktisch. Sie funktioniert für alle Prozeduren in Ihrem Projekt, egal ob benutzerdefiniert oder systemeigen, Objektmethoden oder Modulprozeduren.

  • Noch nicht angegebene Argumente können anhand ihres Namens ausgewählt werden.
  • Die Tooltip-Kurzinfo beschreibt, wozu der Parameter dient.
  • Wählen Sie als Argument die gewünschte Variable aus oder erstellen Sie eine neue, eine Eigenschaft eines Objekts oder sogar eine VBA-Prozedur oder einen Codeausschnitt.
Vervollständigung von Prozedurargumenten

If-Then-Else-Anweisungsblock mit Bedingung

Wenn Sie If eingeben, öffnet sich das folgende Menü. Der folgende Screenshot zeigt die Erstellung eines „If Then Else“-Anweisungsblocks. Beachten Sie Folgendes:

  • Die If Then Else „Menü“ ist die dritte Option unter den vier Hauptoptionen im „If“-Menü.
  • Um nur die Grundstruktur anzuzeigen, wählen Sie die leere Zeile in der zweiten Liste aus.
  • Der Rest der zweiten Liste ermöglicht die Erstellung des Bedingungsteils.
  • Verwendung von Schnelltaste B Öffnen Sie das VBA-Untermenü, das Funktionen und Codeausschnitte enthält, die als Teile von booleschen Bedingungen verwendet werden können.
  • Oben rechts ist der Hover-Effekt zu sehen Kurzinfo Tooltip mit dem Code, der beim Anklicken des Menüelements eingefügt wird, eine Beschreibung der zuletzt ausgewählten Prozedur (hier die Funktion „IsDate“) und F1, um auf das Vorhandensein einer Online-Hilfe hinzuweisen.
If-Then-Else-Anweisungsblock mit Bedingung

Der resultierende Code, wie bereits im Tooltip dargestellt:


If IsDate(str) Then

Else

End If