VBA Syntax und Sprachelemente
Regeln und Syntax
- Sämtliche Programmierung findet in Prozeduren statt, welche sich in Modulen befinden müssen.
- Funktionen und Eigenschaften sind spezielle Prozedur-Typen.
- Klassen und UserFormen sind spezielle Formen eines Moduls.
- Außerhalb von Prozeduren ist keine Programmierung möglich. Hier können lediglich Variablen, Konstanten, benutzerdefinierte Typen und Enumeratoren deklariert werden.
- Nur solche Prozeduren können direkt vom VBA-Editor gestartet werden, die keine Übergabeparameter haben (die Klammer hinter dem Prozedurnamen ist leer).
- VBA wird zeilenweise ausgeführt.
- Befehle werden von rechts nach links ausgeführt: Der Name der Anwendung muss ermittelt werden, bevor er in der Messagebox angezeigt werden kann. MsgBox Application.Name
- Werte werden von rechts nach links übergeben. Der Zuweisungsoperator ist '='. intVariable = 4
- Kommentare
- Kommentare sind Anmerkungen, deaktivierte Befehle oder inzwischen überflüssiger Code, der zwar in der Programmierung enthalten, aber nicht ausgeführt werden soll.
- Kommentare werden mit einem einfachen Anführungszeichen (Hochkomma) angeführt und bis zum Zeilenende weitergeführt.
- Kommentare können nicht unterbrochen werden!
- Wenn ein Kommentar über mehrere Zeilen gehen soll, muss in jeder Zeile ein erneutes Hochkomma vorangestellt werden.
- Klammersetzung: Siehe Klammersetzung
Sprachelemente
Die hier aufgeführten Sprachelemente enthalten die eingebauten Befehle und die Schlüsselwörter, die als Grundlage von VBA dienen. Zusätzlich bietet jede VBA-Anwendung (Excel, Word, PowerPoint etc.) ihr komplettes Objektmodell an, mit dem Sie auf einzelne Elemente einer Arbeitsmappe, eines Dokuments oder einer Präsentation zugreifen oder Befehle in der Anwendung ausführen können.
Eingebaute Befehle
Befehl | Bedeutung | Beispiel | Siehe auch |
---|---|---|---|
|
Gibt den absoluten Wert einer Zahl zurück, bei negativen Zahlen also den positiven Wert. | ||
|
Bringt die Anwendung mit dem angegebenen Titel in den Vordergrund. Der Titel muss hierfür bekannt sein. | ||
|
Die Array-Funktion erzeugt ein Array aus einer Anzahl von Parametern. Der Rückgabewert ist dabei immer ein Variant (der dann ein Array enthält). |
Dim varWeekDays() As Variant varWeekDays = Array("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag") Dim varFontSizes As Variant varFontSizes = Array(8, 9, 10, 12, 14, 18, 20, 24) Alternative für Zeichenketten: Dim strWeekDays() As String strWeekDays = Split("Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag", ",") |
Split |
|
Ermittelt die Position des angegebenen Buchstaben im Zeichensatz. Wenn mehr als ein Zeichen übergeben wird, gilt ausschließlich das erste Zeichen. |
Debug.Print Asc("~") ' 126 |
Chr() |
|
Arkustangens-Funktion (erwartet Angabe des Winkels in Radianten, siehe Winkelfunktionen) | Winkelfunktionen | |
|
Gibt einen kurzen Warnton aus. Sämtliche Einstellungen (Ton, Lautstärke etc.) werden vom Betriebssystem vorgegeben (bei den Sound-Einstellungen der Eintrag 'Hinweis'). Wenn beim 'Soundschema' die Option 'keine Sounds' aktiv ist, hat 'Beep' ebenfalls keine Auswirkung. | ||
|
Kann vor dem Aufruf von Prozeduren angegeben werden, wird jedoch nicht empfohlen. Wenn Call verwendet wird, müssen Parameter in Klammern angegeben werden. Bitte beachten: Beim Aufruf von Funktionen wird der Rückgabewert verworfen! | ||
|
Erlaubt den Aufruf einer Methode mithilfe von Klartext. Als Parameter werden das entsprechende Objekt, die Methode (bzw. der Name der Methode) und eventuelle Parameter erwartet. Wie Sie am Beispiel erkennen können, muss das Objekt direkt angegeben werden, wodurch die sinnvollen Einsatzzwecke dieser Funktion stark limitiert sind. | ||
|
Verwandelt einen Wert in ein Datum. Wenn die Variable, die den Wert entgegennimmt, den Datentyp 'Date' hat, wird dies von VBA automatisch vorgenommen. |
Dim dteDate As Date dteDate = CDate("2015-12-09") dteDate = "2015-12-09" |
Date, IsDate |
|
Ändert das Standardverzeichnis auf den angegebenen Pfad (siehe CurDir). Scheint spätestens seit Windows 8 bzw. Office 2007 keine Auswirkung zu haben, weil Standardverzeichnisse durch Datei-Bibliotheken ersetzt worden sind. | ChDrive, CurDrive | |
|
Ändert das Standardlaufwerk auf das angegebene Laufwerk. Scheint spätestens seit Windows 8 bzw. Office 2007 keine Auswirkung zu haben, weil Standardverzeichnisse durch Datei-Bibliotheken ersetzt worden sind. | ChDir | |
|
Gibt ein bestimmtes Element aus einer beliebig langen Liste von Parametern zurück. Wenn der Index zu groß oder zu klein (< 1) ist, wird 'Null' zurückgegeben. In Access kann 'Choose' verwendet werden, um den gewählten Eintrag einer Optionsgruppe zu ermitteln. | ||
|
Gibt das Zeichen an der angegebenen Position aus dem Zeichensatz zurück. Wird insbesondere dann verwendet, wenn ein Zeichen verwendet werden soll, das innerhalb der Programmierung problematisch ist, auf unserer Tastatur nicht zur Verfügung steht oder in VBA nicht eingegeben werden kann. Beispiele: Unlaute, Accents, Anführungszeichen, 'Festes Leerzeichen' (Index 160). |
Debug.Print Chr(34) ' Gibt ein Anführungszeichen aus |
Asc |
|
Schließt eine zum Einlesen geöffnete Datei und beendet damit den Eingabe- bzw. Ausgabestrom. |
Open "c:\Temp\Hallo.txt" For Output As #1 Print #1, "Huhu!" Close #1 |
Open, Arbeiten mit Dateien |
|
Ein Relikt aus den VisualBasic-Zeiten: Hiermit könnte man die Parameter, mit denen ein Programm aufgerufen wurde, abfragen. Funktioniert bei VBA nicht! | ||
|
Kosinus-Funktion (erwartet Angabe des Winkels in Radianten, siehe Winkelfunktionen) | Winkelfunktionen | |
|
Wird verwendet, um eine Verbindung zu einem anderen (Office-)Programm herzustellen. Das Programm wird hierzu, wenn benötigt, gestartet. |
Set pptApp = CreateObject("PowerPoint.Application") |
GetObject, Fernsteuerung |
|
Liest das aktuelle Standardverzeichnis aus, welches mit ChDir geändert werden kann. Verweist standardmäßig auf das Dokumenten-Verzeichnis von Office. Scheint spätestens seit Windows 8 bzw. Office 2007 keine Auswirkung zu haben, weil Standardverzeichnisse durch Datei-Bibliotheken ersetzt worden sind. | ChDir | |
|
Stellt vor die übergebene Zahl das Wort 'Fehler' in der verwendeten Office-Sprache. Wichtig: Der Fehlercode wird als Variant zurückgeliefert und kann nicht in eine Zeichenkette umgewandelt werden! |
Debug.Print CVErr(12) ' Fehler 12 |
Eigene Fehler erzeugen |
|
Gibt das aktuelle Datum zurück. |
Debug.Print Date ' 23.7.2015 |
Datum und Uhrzeit |
|
Berechnet das Ergebnis einer Addition mit Datums- bzw. Zeitwerten. Negative Werte werden abgezogen. Siehe auch DateDiff. |
Debug.Print DateAdd("h", 3, "18:04:56") ' 21:04:56 Debug.Print DateAdd("h", -3, "18:04:56") ' 15:04:56 Debug.Print DateAdd("h", 9, "18:04:56") ' 31.12.1899 03:04:56 (Übertrag auf nächsten Tag) |
Rechnen mit Datumswerten |
|
Berechnet den Unterschied zwischen zwei Datums- bzw. Zeitangaben. |
Debug.Print DateDiff("d", "2016-02-25", "2016-03-06") ' 10 Tage |
Rechnen mit Datumswerten |
|
Gibt einen Anteil einer Datums- bzw. Zeitangabe zurück. |
Debug.Print DatePart("y", "2016-02-16") ' 47. Tag des Jahres Debug.Print DatePart("ww", Date, , vbFirstFourDays) ' Aktuelle Kalenderwoche |
Rechnen mit Datumswerten |
|
Berechnet das Datum anhand der Werte für Jahr, Monat und Tag. |
Debug.Print DateSerial(2016, 2, 12) ' 12.02.2016 |
Rechnen mit Datumswerten |
|
Liest aus einer als Text übergebenen Datumseingabe das enthaltene Datum. Wichtig: Diese Funktion ist sehr stark von der Spracheinstellung in Ihrem System abhängig! |
Debug.Print DateValue("15. Februar 2016") ' 15.02.2016 |
Rechnen mit Datumswerten |
|
Ermittelt den Tag des Monats (1-31), der in einer Datumsangabe steckt. |
Debug.Print Day(Date) ' Gibt den aktuellen Tag zurück |
Rechnen mit Datumswerten |
|
Gibt die Abschreibung eines Vermögenswertes über einen bestimmten Zeitraum mit Hilfe der geometrisch-degressiven Abschreibungsmethode oder einer anderen angegebenen Methode zurück. | ||
|
Hält die Ausführung des Programms unter bestimmten Bedingungen an (siehe Stop) und gibt einen Warnton ('Beep') aus. Dies ist zum Beispiel dann hilfreich, wenn Sie bei der Fehlersuche in einer bestimmten Situation anhalten und die nächsten Befehle dann schrittweise beobachten möchten. Bitte beachten: Bitte denken Sie daran, die 'Debug.Assert'-Anweisungen nach dem Testen wieder zu entfernen, damit der Programmlauf beim Anwender nicht auch an dieser Stelle unterbrochen wird! |
Dim lngIndex As Long For lngIndex = 1 To 3 Debug.Assert lngIndex <> 3 ' Hält an, wenn der Index den Wert 3 hat Next lngIndex |
Stop |
|
Gibt den nachfolgenden Text im Direktbereich des VBA-Editors aus. | ||
|
Löscht eine Einstellung in der Registry. Kann ausschließlich auf den Zweig 'HKEY_CURRENT_USER\Software\VB and VBA Program Settings' zugreifen. |
DeleteSetting "MyApplication", "Section", "Setting" |
Eigene Einstellungen: Registry |
|
Wird verwendet, um Dateien zu finden. |
If Dir("c:\temp\Test.docx") = "" Then MsgBox "Die Testdatei kann leider nicht gefunden werden!" End If |
Arbeiten mit Dateien |
|
Wird verwendet, um den aktuellen Programmlauf zu unterbrechen und anderen Prozessen den Vortritt zu lassen.
'DoEvents' wird überwiegend dann eingesetzt, wenn ein lang andauernder Prozess unterbrochen werden können soll: Wenn Sie zum Beispiel mithilfe einer Schleife sehr viele Daten untersuchen, muss im Regelfall der Anwender warten, bis die Schleife komplett durchlaufen wurde. Wenn er diesen Vorgang aus einem Dialog heraus gestartet hat und der Dialog noch angezeigt wird, würde das Betätigen der ESC-Taste erst dann vom System berücksichtigt werden, wenn der aktuelle Arbeitsschritt komplett abgeschlossen wurde, also aus Sicht des Anwenders zu spät. Mit 'DoEvents' können Sie innerhalb dieser Schleife bestimmen, dass bei jedem Durchlauf der Schleife einmal die Möglichkeit gegeben wird, andere Prozesse zuzulassen, wie zum Beispiel die Betätigung der ESC-Taste. Bitte beachten:' Der Anwender wird eine einzelne Unterbrechung durch 'DoEvents' in der Regel nicht wahrnehmen (es kommt nicht zu einem Anhalten wie bei 'Stop' bzw. 'Debug.Assert'). Die Verwendung von 'DoEvents' in einer Schleife kann die Dauer zur Ausführung jedoch deutlich verlängern. |
Für dieses Beispiel benötigen Sie eine UserForm mit einer Befehlsschaltfläche 'cmbCancel'.
Führen Sie den Dialog direkt aus und klicken Sie in den Dialog, um die Schleife zu starten. Drücken Sie dann die 'ESC'-Taste oder den Knopf auf dem Dialog, um die Schleife zu unterbrechen. Wenn Sie die Zeile 'DoEvents' auskommentieren, wird dies nicht gelingen ... Public CancelWasPressed As Boolean Private Sub cmbCancel_Click() CancelWasPressed = True End Sub Private Sub UserForm_Activate() cmbCancel.Cancel = True Me.Caption = "Bitte in den Dialog klicken" End Sub Private Sub UserForm_Click() Dim lngIndex As Long For lngIndex = 1 To 100000 Me.Caption = lngIndex DoEvents If CancelWasPressed = True Then Exit For Next lngIndex If CancelWasPressed = False Then MsgBox "Vorgang abgeschlossen." Else MsgBox "Vorgang nach " & lngIndex & " Durchläufen unterbrochen!" End If End Sub |
Ereignisse: DoEvents |
|
Erlaubt es, Windows Umgebungsvariablen abzurufen. Bitte beachten Sie, dass die Liste vorhandener Variablen Arbeitsplatz-abhängig ist und somit stark variieren kann. | ||
|
End of file: Wird verwendet, um zum Beispiel Textdateien zeilenweise auszulesen. |
Dim strLine As String Open "c:\temp\Lines.txt" For Input As #1 Do Until EOF(1) = True Line Input #1, strLine Debug.Print strLine Loop Close #1 |
Arbeiten mit Dateien, Line Input |
|
Setzt ein Array zurück. Bei statischen Arrays werden alle Elemente auf den Standardwert gesetzt, bei dynamischen Arrays sämtliche Elemente gelöscht. |
Erase strArray
|
Array |
|
Wird zur Fehlerbehandlung ('On Error'), zur Erzeugung von Fehlermeldungen bzw. zur Abfrage von Fehlernummern verwendet: | Fehlerbehandlung:
On Error Goto 0 On Error Resume Next Fehler erzeugen: Error 11 ' Zeigt diesen Dialog an: Fehlermeldung einer Fehlernummer abfragen: MsgBox Error(11) ' Zeigt 'Division durch Null' an |
Fehlerbehandlung |
|
Liefert das Ergebnis der natürlichen Exponentialfunktion ex (zur Basis der Eulerschen Zahl). | ||
|
Ermittelt bei einer mit 'Open' geöffneten Datei den Modus, in der sie geöffnet wurde |
Open "c:\Temp\Hallo.txt" For Output As #1 Debug.Print FileAttr(1) ' ergibt 2 für 'Output' Close #1 |
Open, Arbeiten mit Dateien |
|
Kopiert eine Datei an einen anderen Ort. Beide Angaben müssen Pfad und Verzeichnis enthalten. Wenn das Kopieren fehl schlägt (Datei existiert nicht, ist geöffnet, Zielpfad existiert nicht), tritt ein Fehler auf. |
FileCopy "c:\Pfad\Original.txt", "c:\Pfad\Kopie.txt" |
Arbeiten mit Dateien |
|
Liefert den Zeitpunkt zurück, an der die angegebene Datei zuletzt gespeichert wurde. |
FileDateTime("c:\Pfad\Datei.txt") ' 15.02.2016 13:16:58 |
Arbeiten mit Dateien |
|
Ermittelt die Dateigröße in Byte. |
lngFileSize = FileLen("c:\Pfad\Datei.txt") ' beispielsweise 9277 Byte, rund 10 KB |
Arbeiten mit Dateien |
|
Schneidet wie die 'Int'-Funktion Nachkommastellen ab, sodass nur der Ganzzahlige Teil zurückbleibt. Bei negativen Werten wird die nächst höhere Ganzzahl gewählt, wodurch alle Werte zwischen -0,9999999999 und +0,9999999999 den Wert 0 ergeben ... | Debug.Print Fix(1) ' 1 Debug.Print Int(1) ' 1 Debug.Print Fix(1.3) ' 1 Debug.Print Int(1.3) ' 1 Debug.Print Fix(1.999999) ' 1 Debug.Print Int(1.999999) ' 1 Debug.Print Fix(0.3) ' 0 Debug.Print Int(0.3) ' 0 Debug.Print Fix(-0.3) ' -0 Debug.Print Int(-0.3) ' -1 Debug.Print Fix(-1.3) ' -1 Debug.Print Int(-1.3) ' -2 | Int, Arithmetische Operatoren und Rechenfunktionen |
|
Eine allgemeine Formatierungs-Funktion, um Zahlen, Datumsangaben etc. in ein gewünschtes Muster zu bringen. | ||
|
Formatiert eine Zahl für die Darstellung als Geldbetrag. | ||
|
Formatiert ein Datum im generellen oder in einem der zur Verfügung gestellten Formate. | ||
|
Formatiert eine gewünschte Zahl im Standardformat (mit zwei Nachkommastellen) oder mit den im zweiten Parameter angegebenen Nachkommastellen. Verwendet NICHT das mathematische Runden! | Debug.Print FormatNumber(23.45, 1) ' 23,5 | Runden |
|
Formatiert einen Zahlenwert als Prozentzahl. Hierbei wird arithmetisch gerundet! | Debug.Print FormatPercent(0.12345) ' 12,35% | Runden |
|
Sucht die nächste freie Dateinummer für Datei-Operationen. | Dim lngFile As Long lngFile = FreeFile Open "c:\Temp\Hallo.txt" For Output As #lngFile Print #lngFile, "Huhu!" Close #lngFile | Arbeiten mit Dateien |
|
Errechnet den Endwert (Future Value, FV) einer Annuität. | ||
|
Überträgt alle Registry-Einträge der angegebenen Anwendung und dem angegebenen Pfad in ein zweidimensionales Array, welches alle Namen und Werte der Einstellungen enthält. | Dim strSettings() As String SaveSetting "myApp", "Global", "Version", "1.0.1.3" SaveSetting "myApp", "Global", "DisplayName", "Meine Anwendung" SaveSetting "myApp", "Global", "LastLogin", Now strSettings = GetAllSettings("myApp", "Global") | Eigene Einstellungen: Registry |
|
Liest die Attribute der angegeben Datei aus (verborgen, Archiv, Verzeichnis etc.). Die Abfrage nach den Attributen erfolgt mit einem bitweisen Vergleich mit 'And' (siehe Beispiel!). Wenn der Pfad / die Datei nicht existiert, wird ein Fehler angezeigt. | ||
|
Wird verwendet, um eine Verbindung zu einem anderen (Office-)Programm herzustellen. Voraussetzung: Das Programm läuft schon. | Set wordApp = GetObject(, "Word.Application") | CreateObject, Fernsteuerung |
|
Liest eine Einstellung aus der Registry aus. Kann ausschließlich auf den Zweig 'HKEY_CURRENT_USER\Software\VB and VBA Program Settings' zugreifen. | Debug.Print GetSetting("MyApplication", "Section", "Setting") | Eigene Einstellungen: Registry |
|
Gibt den hexadezimalen Wert einer Zahl zurück. | Debug.Print Hex(123456) ' Ergibt 1E240 | Arithmetische Operatoren und Rechenfunktionen |
|
Ermittelt die Stunden, die in einer Datums-/Zeitangabe stecken. | Debug.Print Hour(Time) ' Gibt die aktuelle Stunde zurück | Rechnen_mit_Datumswerten |
|
Stellt eine Kurzform der 'IfThenElse'-Abfrage dar. | Debug.Print IIf(Time < CDate("12:00"), "Vormittag", "Nachmittag") | If-Abfrage mit Else-Zweig |
|
Gibt den IME-Modus (Input Method Editor) von Windows zurück. Findet nur in fernöstlichen Versionen von Windows Verwendung. | ||
|
Wird im Zusammenhang mit dem Auslesen von Dateien verwendet. | Open, Arbeiten mit Dateien | |
|
Ruft den Standard-Dialog zur Eingabe eines Textes auf. | Dim strInput As String strInput = InputBox("Bitte etwas eingeben:", "Meine InputBox", "Test") | Eingebaute Dialoge: InputBox |
|
Gibt die Position der angegebenen Zeichenkette in einem Text zurück. | Debug.Print InStr("Ein Text mit Worten", " ") ' 4 | Zeichenketten, InStrRev |
|
Gibt die letzte Position der angegebenen Zeichenkette in einem Text zurück. Die Position wird trotzdem von links nach rechts ermittelt. | Debug.Print InStrRev("Ein Text mit Worten", " ") ' 13 | Zeichenketten, InStr |
|
Schneidet wie die 'Fix'-Funktion Nachkommastellen ab, sodass nur der Ganzzahlige Teil zurückbleibt. Bei negativen Werten wird die nächst niedrige Ganzzahl gewählt, was dazu führt, dass negative Werte ebenso wie Positive Werte der nächst niedrigen Ganzzahl zufallen: | Debug.Print Fix(1) ' 1 Debug.Print Int(1) ' 1 Debug.Print Fix(1.3) ' 1 Debug.Print Int(1.3) ' 1 Debug.Print Fix(1.999999) ' 1 Debug.Print Int(1.999999) ' 1 Debug.Print Fix(0.3) ' 0 Debug.Print Int(0.3) ' 0 Debug.Print Fix(-0.3) ' -0 Debug.Print Int(-0.3) ' -1 Debug.Print Fix(-1.3) ' -1 Debug.Print Int(-1.3) ' -2 | Fix, Arithmetische Operatoren und Rechenfunktionen |
|
Stellt fest, ob eine Variable ein Array ist bzw. enthält. Insbesondere bei Variant-Variablen hilfreich, welche ebenfalls Arrays aufnehmen können, ohne dies bei der Deklaration anzugeben. | ||
|
Prüft, ob der übergebene Wert in ein gültiges Datum umgewandelt werden kann. | If IsDate(strInput) = True Then dteDate = CDate(strInput) | CDate |
|
Wird verwendet, um bei einer Variablen vom Typ Variant zu prüfen, ob sie schon verwendet bzw. zurückgesetzt wurde. Siehe auch Empty! | ||
|
Kann einen mit der CVErr-Funktion erzeugten Fehler feststellen. | Eigene Fehler erzeugen, CVErr | |
|
Kann bei optionalen Parametern, die als Variant deklariert sind, feststellen, ob sie beim Aufruf verwendet wurden. | Arbeiten mit Optionalen Parametern | |
|
Wird verwendet, um festzustellen, ob eine Variable vom Typ Variant den Wert Null hat. Der Wert Null zeigt an, dass die Variable keinen gültigen Wert hat und muss explizit zugewiesen werden. Siehe auch Null. | ||
|
Stellt fest, ob der übergebene Wert in eine Zahl umgewandelt werden kann. | ||
|
Stellt fest, ob eine Variable auf ein Objekt verweist. Bei Objektvariablen ist dies immer wahr, bei Variablen vom Datentyp Variant trifft dies zu, wenn sie auf ein Objekt verweist. Wichtig: 'IsObject' prüft nicht, ob das Objekt instanziiert wurde bzw. ob ein Verweis auf ein existierendes Objekt besteht. Siehe dazu IsEmpty! | ||
|
Interest Payment: Wird verwendet, um Zinszahlungen zu berechnen. | ||
|
Internal Rate of Return: Gibt den internen Zinssatz für eine Reihe periodischer Eingange und Zahlungen an. | ||
|
Erzeugt aus den Elementen eines eindimensionalen String-Arrays eine Liste (als Zeichenkette). | Dim strArray() As String ReDim strArray(2) strArray(0) = "Eins" strArray(1) = "Zwei" strArray(2) = "Drei" Debug.Print Join(strArray, ", ") ' Eins, Zwei, Drei | Array |
|
Löscht die angegebene Datei. Wenn diese nicht existiert, tritt ein Fehler auf. | Kill "c:\Temp\Hallo.txt" | Arbeiten mit Dateien |
|
Wird verwendet, um den Index des ersten Elementes eines Arrays zu finden. | ReDim strArray(2 To 5) Debug.Print LBound(strArray) ' Ergibt 2 | Array |
|
Wandelt alle Buchstaben eines Textes in Kleinbuchstaben um. | Debug.Print LCase("test") ' test Debug.Print LCase("Test") ' test Debug.Print LCase("TEST") ' test | Zeichenketten umwandeln |
|
Gibt die angegebene Anzahl von Buchstaben aus einem Text zurück. | Debug.Print Left("Länge", 3) ' Län | Zeichenketten: Aufteilen und kürzen |
|
Ermittelt die Anzahl der Zeichen in einem Text. | Debug.Print Len("Länge") ' 5 | Zeichenketten: Länge ermitteln |
|
Liest eine einzelne Zeile aus einer zum Lesen geöffneten Textdatei aus. | Dim strLine As String Open "c:\temp\Lines.txt" For Input As #1 Do Until EOF(1) = True Line Input #1, strLine Debug.Print strLine Loop Close #1 | Arbeiten mit Dateien, #EOF |
|
Lädt eine UserForm in den Speicher, ohne diese auch schon anzuzeigen. Somit kann auf die Funktionalität der UserForm zugegriffen werden, ohne dass die Userform sichtbar ist. Sie kann dann jederzeit mit der 'Show'-Methode sichtbar gemacht werden. Siehe auch Unload. | Siehe UserForms | |
|
Gibt die aktuelle Lese- / Schreibe-Position beim Lesen / Schreiben einer Datei an. | Arbeiten mit Dateien | |
|
Sperrt das Lesen / Schreiben der angegebenen Datei, während sie gerade von diesem Prozess betrachtet bzw. bearbeitet wird. Siehe Unlock. | Arbeiten mit Dateien | |
|
Length of File: Ermittelt die Anzahl von Bytes in einer zum Lesen / Schreiben geöffneten Datei. | Arbeiten mit Dateien | |
|
Errechnet den Logarithmus der übergebenen Zahl. | Beispiel: Eine Funktion zur Errechnung des Logarithmus zu einer beliebigen Basis Public Function Logarithm(ByVal dblValue As Double, ByVal dblBase As Double) If dblValue < 0 Or dblBase < 0 Then MsgBox "Der Logarithmus kann nur über positive Zahlen bestimmt werden!" Exit Function End If Logarithm = Log(dblValue) / Log(dblBase) End Function Private Sub Test() Debug.Print Logarithm(8, 2) ' Ergebnis: 3 denn 2 ^ 3 = 8 End Sub | Arithmetische_Operatoren_und_Rechenfunktionen |
|
Wird verwendet, um einen Text in eine feste Breite zu bringen. Dies ist zum Beispiel für Textdateien interessant, in denen eine feste Feldbreite für die einzelnen Einträge vorgegeben ist. Vorgehensweise: Sie benötigen zwei Textvariablen, eine für den Originaltext und eine für den aufgefüllten Text. Die Variable für den aufgefüllten Text füllen Sie mit der gewünschten Anzahl von Zeichen (es müssen keine Leerzeichen sein!). Mit 'LSet' weisen Sie dann den gewünschten Text dem aufgefüllten Text zu. Der Text wird linksbündig eingelesen und die nicht verwendeten Stellen mit Leerzeichen aufgefüllt, sodass das Ergebnis die vorgegebene Anzahl von Zeichen hat. | Dim strText As String, strField As String strField = String(10, ".") ' Erstellt ein Feld mit 10 Zeichen strText = "Hallo!" LSet strField = strText Debug.Print strField ' 'Hallo! ' Wichtig: Wenn der gewünschte Text mehr Zeichen enthält als die Feldbreite aufnehemen kann, wird ein Leerstring zurückgegeben: strText = "Hallo und herzlich willkommen!" LSet strField = strText Debug.Print strField ' strField enthält nun ein Leerstring Für diesen Fall sollten Sie vorher prüfen, ob der Text die gewünschte Länge überschreitet! | RSet, Zeichenketten |
=====
|
Debug.Print "'" & LTrim(" Leerzeichen gefällig? ") & "'" 'Leerzeichen gefällig? ' Debug.Print "'" & RTrim(" Leerzeichen gefällig? ") & "'" ' Leerzeichen gefällig?' Debug.Print "'" & Trim(" Leerzeichen gefällig? ") & "'" 'Leerzeichen gefällig?' | Zeichenketten | |
|
Wird verwendet, um die Dateiendung für die im Dateisystem gesuchten Dateien zu ermitteln. Betrifft ausschließlich Office für MacIntosh. | ||
|
Führt einen AppleScript aus. Betrifft ausschließlich Office für MacIntosh. | ||
|
Schneidet die angegebenen Zeichen aus einer Zeichenkette aus. Wenn Sie nicht angeben, wieviele Zeichen ausgeschnitten werden sollen (dritter Parameter), wird der Rest des Textes vom Anfangspunkt an zurückgegeben. | Zeichenketten | |
|
Ermittelt die Minuten, die in einer Datums-/Zeitangabe stecken. | Debug.Print Minute(Time) ' Gibt die aktuelle Minute zurück | Rechnen_mit_Datumswerten |
|
| | ||
|
Erstellt ein Unterverzeichnis. Bitte beachten Sie, dass sämtliche übergeordnete Verzeichnisse schon existieren müssen. | MkDir "c:\temp\Unterverzeichnis" ' Funktioniert nur, wenn 'C:\temp' schon existiert! | RmDir, Arbeiten mit Dateien |
|
Ermittelt den Rest einer ganzzahligen Division. | Debug.Print 3 Mod 2 ' 3 : 2 ergibt Rest 1 | Gemischte Brüche |
|
Ermittelt den Monat (1-12), der in einer Datumsangabe steckt. | Debug.Print Month(Date) ' Gibt den aktuellen Monat als Zahl zurück | Rechnen mit Datumswerten |
|
Bestimmt den Namen des angegebenen Monats entsprechend der Systemsprache. | Debug.Print MonthName(3) ' März | Rechnen mit Datumswerten |
|
Zeigt ein Meldungsfenster an. | Eingebaute Dialoge: MsgBox | |
|
Gibt das aktuelle Datum mit Uhrzeit zurück. | Debug.Print Now ' 31.03.2016 16:24:31 | Rechnen mit Datumswerten |
|
Errechnet die Anzahl von Zeiträumen einer Annuität basierend auf regelmäßigen, festen Zahlungen und einem festen Zinssatz. | ||
|
Errechnet den aktuellen Nettowert einer Investition basierend auf regelmäßiger Zahlungsein- und -ausgängen und dem Abzinsungssatz. | ||
|
Wandelt eine Ganzzahl in das Oktalsystem um. | Debug.Print Oct(0) ' 0 Debug.Print Oct(1) ' 1 Debug.Print Oct(2) ' 2 Debug.Print Oct(7) ' 7 Debug.Print Oct(8) ' 10 Debug.Print Oct(9) ' 11 | Arithmetische Operatoren und Rechenfunktionen: Oktalsystem, Oktalsystem auf wikipedia |
|
Öffnet eine Datei zum Lesen bzw. Schreiben. | Text in eine Datei schreiben: Open "c:\Temp\Hallo.txt" For Output As #1 Print #1, "Huhu!" Close #1 Erste Zeile Text aus einer Datei auslesen: Dim strText As String Open "c:\Temp\Hallo.txt" For Input As #1 Input #1, strText Close #1 Debug.Print strText | Arbeiten mit Dateien |
|
Bestimmt den Bereich, in den eine gesuchte Zahl fällt. Der Bereich muss im positiven Zahlenraum liegen, der Startwert muss kleiner als der Endwert sein. Die gesuchte Zahl kann negativ sein und außerhalb des Zahlenbereiches liegen. Siehe Beispiele zur näheren Erklärung. | ||
|
Errechnet den Wert der Zahlung für eine Annuität bei regelmäßigen konstanten Zahlungsbeträgen und einem festen Zinssatz. | ||
|
Errechnet die Tilgungszahlung für einen bestimmten Annuitätszeitraum basierend auf regelmäßigen, festen Zahlungen und einem festen Zinssatz. | ||
|
Schreibt den angegebenen Text in eine Datei. Siehe Beispiel bei Open. | Open, Arbeiten mit Dateien | |
|
Wird verwendet, um Daten direkt aus einer Variablen mit einem benutzerdefinierten Datentyp 'Type' in eine Datei zu schreiben. Bitte beachten: Wenn Sie die Reihenfolge der Unterwerte des benutzerdefinierten Datentyps 'Type' ändern oder Werte entfernen oder hinzufügen, können Sie die gespeicherten Werte in einer Datei nicht mehr auslesen. Satt auf diese Weise Daten zu speichern, sollten Sie sich die Möglichkeiten ansehen, die VBA im Zusammenhang mit XML anbietet! | Arbeiten mit Dateien, Eigene Einstellungen#XML | |
|
Errechnet den aktuellen Wert einer Annuität basierend auf regelmäßigen, festen Zahlungen, die künftig zu tätigen sind und auf einem festen Zinssatz beruhen. | ||
|
QuickBasic-Farbe: Gibt den RGB-Farbwert einer der ursprünglich 16 möglichen Farbwerte zurück. | Farben | |
|
'Randomize' wird im Zusammenhang mit 'Rnd' verwendet, um Zufallszahlen zu erzeugen. Der 'Randomize'-Befehl soll dafür sorgen, dass der Zufallszahlengenerator vor jedem Aufruf zurückgesetzt wird, damit sich keine Wiederholungen von zufällig ermittelten Zahlenketten ergeben. | Randomize Debug.Print Int(1 + Rnd()
|
Rechenfunktionen: Zufallszahlen |
|
Ermittelt den Zinssatz pro Zeitabschnitt einer Annuität. | ||
|
Wird verwendet, um ein dynamisches Array zu dimensionieren. | Dim strArray() As String ReDim strArray(11) ' reserviert 12 Speicherplätze für Zeichenketten (von 0 bis 11) | Dynamische Arrays |
|
Ersetzt innerhalb einer Zeichenkette einen gesuchten Begriff mit einem neuen Text. | ' Das Ergebnis der folgenden Zeile lautet: In diesem Text wird ersetzt! Debug.Print Replace("In diesem Text wird gesucht!", "gesucht", "ersetzt") | In Zeichenketten ersetzen |
|
Schließt alle Dateien, die mit dem 'Open'-Befehl geöffnet worden waren. Wenn sie zum Schreiben geöffnet waren, werden alle anstehenden Änderungen in die Datein geschrieben. Bitte beachten: Verwenden Sie 'Close', um eine einzelne mit 'Open' geöffnete Datei zu speichern und zu schließen. | Open, Close, Arbeiten mit Dateien | |
|
Viele Elemente in den Office-Anwendungen lassen sich färben, wie Texte, Formen, Diagramme etc.. Wenn hierfür eine eigene Farbe verwendet werden soll, muss diese als ganzzahliger Wert angegeben werden, welcher die gewünschte Farbe eindeutig bestimmt. Die 'RGB'-Funktion liefert mithilfe der Bestandteile Rot, Grün und Blau den entsprechenden Farbwert. | ActiveCell.Font.Color = RGB(123, 124, 245) ' Färbt den Text der markierten Zelle hellblau ActiveCell.Font.Color = 16088187 ' Färbt ebenfalls den Text der Zelle im gleichen Blauton | Farben |
|
Ermittelt den rechten Ausschnitt einer Zeichenkette mit der angegebenen Anzahl von Zeichen. | Debug.Print Right("Länge", 3) ' nge | Zeichenketten: Aufteilen und kürzen |
|
Entfernt das angegebene (Unter-)Verzeichnis. Bitte beachten: Das Verzeichnis muss leer sein, sonst tritt ein Fehler auf. Achtung: Der Anwender wird NICHT automatisch darauf hingewiesen, dass jetzt das Verzeichnis gelöscht wird! | RmDir "c:\temp\test" ' Löscht das Unterverzeichnis 'test', sofern dieses leer ist | MkDir, Arbeiten mit Dateien |
|
Die 'Rnd'-Funktion ermittelt einen Zufallswert zwischen 0 und 0,999999999999, also niemals 1. Deshalb muss sie in eine Berechnung eingebettet werden, wenn ein Zufallswert ausserhalb dieses Bereches gewünscht wird. | Randomize Debug.Print Int(1 + Rnd()
|
Rechenfunktionen: Zufallszahlen |
|
Rundet eine Zahl auf die angegebene Anzahl von Stellen. Bitte beachten Sie hierzu dringend die Angaben unter Arithmetische Operatoren und Rechenfunktionen: Runden! | Debug.Print Round(1.5) ' 2 Debug.Print Round(2.5) ' 2 Debug.Print Round(2.50000000000001) ' 3 Debug.Print Round(2.6) ' 3 Debug.Print Round(1.49999999999999) ' 1 Debug.Print Round(2.25, 1) ' 2,2 Debug.Print Round(2.253, 2) ' 2,25 | Arithmetische Operatoren und Rechenfunktionen: Runden |
|
Richtet einen Text in einer Zeichenkette mit fester Länge rechts aus und füllt die übrigen Plätze mit Leerzeichen auf. Eine ausführlichere Beschreibung finden Sie unter LSet. | Dim strText As String, strField As String strField = String(10, ".") ' Erstellt ein Feld mit 10 Zeichen strText = "Hallo!" RSet strField = strText Debug.Print strField ' ' Hallo!' | LSet, Zeichenketten |
|
Siehe LTrim-, RTrim- und Trim-Funktion. | Zeichenketten | |
|
Speichert eine Einstellung in der Registry. Kann ausschließlich auf den Zweig 'HKEY_CURRENT_USER\Software\VB and VBA Program Settings' zugreifen. | SaveSetting "MyApplication", "Section", "Setting", "Value" | Eigene Einstellungen: Registry |
|
Ermittelt die Sekunden, die in einer Datums-/Zeitangabe stecken. | Debug.Print Second(Time) ' Gibt die aktuellen Sekunden zurück | Rechnen mit Datumswerten |
|
Ermittelt die aktuelle Lese-/Schreibposition in einer mit 'Open' geöffneten Datei. | Arbeiten mit Dateien | |
|
Sendet Tastenschläge an die aktuelle Anwendung, also eventuell auch an eine 'fremde' bzw. unbeabsichtigt im Vordergrund liegende Anwendung. | ||
|
Ändert die Eigenschaften der angegebenen Datei. | FileAttr, GetAttr, Arbeiten mit Dateien | |
|
Liefert das Vorzeichen einer Zahl zurück: '-1' bei negativen Zahlen, '0' bei der Zahl 0 und '1' bei positiven Zahlen. | Debug.Print Sgn(-123) ' -1 | Arithmetische Operatoren und Rechenfunktionen |
|
Wird verwendet, um ein Programm (eine EXE-Datei) auszuführen. Bei Standardprogrammen (siehe Beispiel) muss kein Pfad angegeben werden. Der Rückgabewert der Funktion liefert die Vorgangsnummer des Programms zurück. Wenn das Programm nicht gestartet werden konnte, wird der Wert '0' zurückgegeben. | ||
|
Sinus-Funktion (erwartet Angabe des Winkels in Radianten, siehe Winkelfunktionen) | Winkelfunktionen | |
|
Wird zur Zinsberechnung verwendet (straight line deprecation). | ||
|
Erstellt eine Zeichenkette mit der gewünschten Anzahl Leerzeichen. Diese Funktion ist insbesondere für den Aufruf von API-Funktionen, welche feste Zeichenketten erwarten, wichtig. | Debug.Print "*" & Space(5) & "*" '
| |
|
Erstellt aus einer Liste, die sich aus einer Zeichenkette ergibt, ein eindimensionales Array. | Dim strWeekdays() As String strWeekdays = Split("Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag", ",") | Array |
|
Berechnet die Quadratwurzel der angegebenen Zahl. | Debug.Print Sqr(16) ' Ergibt 4 Debug.Print 16 ^ (1 / 2) ' Alternative Schreibweise 'sechzehn hoch einhalb' | Rechnen mit Zahlen |
|
Hält die Ausführung des Codes an dieser Stelle an. Wird bei der Fehlersuche eingesetzt, um dann die gewünschte Passage der Programmierung schrittweise betrachten zu können. Das Verhalten der 'Stop'-Anweisung entspricht dem eines Haltepunktes. Bitte beachten: Bitte denken Sie daran, die 'Stop'-Anweisungen nach dem Testen wieder zu entfernen, damit der Programmlauf beim Anwender nicht auch an dieser Stelle unterbrochen wird! | DoSomething Stop ' Die Ausführung wird hier anhalten DoMore | Debug.Assert |
|
Wandelt eine Zahl in eine Zeichenkette um:
|
Debug.Print Str(12.34) ' 12.34 Debug.Print Str(-12.34) ' -12.34 | CStr, Format |
|
Führt einen Sortierungsvergeleich von zwei Zeichenketten durch. Dabei werden folgende Ergebnisse zurückgegeben:
|
||
|
Konvertiert eine Zeichenkette zum Beispiel in Groß- oder Kleinbuchstaben oder in ein anderes Zeichensystem (Katakana, Hiragana, Unicode, ...) | ||
|
Wiederholt ein einzelnes Zeichen so oft wie angegeben wird. | ") End Sub | | |
|
Kehrt die gesamte Zeichenfolge um. | ||
|
Führt einen Vergleich ähnlich einer Select-Case-Anweisung durch: | Function TeamMascotSelect(ByVal strTeam As String) Select Case strTeam Case "BTSC" TeamMascotSelect = "Minion" Case "MTSC" TeamMascotSelect = "Zebra" Case "HHTSC" TeamMascotSelect = "Käpt'n Blaubär" Case "KTSC" TeamMascotSelect = "Eumele" Case "Essen Rotweiss" TeamMascotSelect = "Mick die Pommes" End Select End Function Function TeamMascotSwitch(ByVal strTeam As String) TeamMascotSwitch = Switch(strTeam = "BTSC", "Minion", strTeam = "MTSC", "Zebra", _ strTeam = "HHTSC", "Käpt'n Blaubär", strTeam = "KTSC", "Eumele", _ strTeam = "Essen Rotweiss", "Mick die Pommes") End Function | Siehe Select Case |
|
Wird zur Berechnung der arithmetisch-degressive Abschreibung verwendet. | ||
|
| | ||
|
Tangens-Funktion (erwartet Angabe des Winkels in Radianten, siehe Winkelfunktionen) | Winkelfunktionen | |
|
Gibt die aktuelle Uhrzeit zurück. | Rechnen_mit_Datumswerten | |
|
Gibt die seit Mitternacht verstrichenen Sekunden zurück. Bei Windows als Dezimalzahl, auf dem MacIntosh als ganze Sekunden. | Rechnen_mit_Datumswerten | |
|
Errechnet eine Zeitangabe aus der angegebenen Stunde, Minute und Sekunde. | Debug.Print TimeSerial(23, 2, 12) ' 23:02:12 | Rechnen_mit_Datumswerten |
|
Liest aus einer Datums- und Zeitangabe die Zeit aus. | Debug.Print TimeValue("2017-03-09 14:40:23") ' 14:40:23 | Rechnen_mit_Datumswerten |
|
Siehe LTrim-, RTrim- und Trim-Funktion. | ' 'Text ohne Leerzeichen davor oder danach' Debug.Print "'" & Trim(" Text ohne Leerzeichen davor oder danach ") & "'" | Zeichenketten |
|
Da Variant-Variablen an keinen Datentyp gebunden sind, können beliebige Daten in ihnen untergebracht werden. Die 'TypeName'-Funktion ermittelt, welchen Unter-Datentyp die Variable angenommen hat. | Dim varValue As Variant Debug.Print TypeName(varValue) ' Empty, Variant-Variable wurde noch nicht verwendet varValue = "Hallo!" Debug.Print TypeName(varValue) ' String varValue = 2 Debug.Print TypeName(varValue) ' Integer | Datentyp 'Variant', VarType |
|
Ermittelt den Index des letzten Elementes eines Arrays. | ReDim strArray(2 To 5) Debug.Print UBound(strArray) ' 5 | Array |
|
Wandelt alle Buchstaben eines Textes in Großbuchstaben um, sofern dies möglich ist (siehe letztes Beispiel). | Debug.Print UCase("test") ' TEST Debug.Print UCase("Test") ' TEST Debug.Print UCase("TEST") ' TEST Debug.Print UCase("Spaß") ' SPAß | Zeichenketten umwandeln |
|
Gibt einen mit Load geladenen Dialog (UserForm) wieder frei. | UserForms | |
|
Hebt die Sperre für das Lesen / Schreiben der angegebenen Datei, während sie gerade von diesem Prozess betrachtet bzw. bearbeitet wird, auf. Siehe Lock. | Arbeiten mit Dateien | |
|
Wandelt einen Text in eine (Komma)Zahl um. Bitte beachten Sie die Regeln und den Vergleich mit der CDbl-Funktion in den Beispielen: | Debug.Print Val("2.345,67") ' 2,345 denn nur der Punkt gilt als Dezimalzeichen Debug.Print CDbl("2.345,67") ' 2345,67 Debug.Print Val("Meinestraße 7") ' 7 Debug.Print CDbl("Meinestraße 7") ' Fehler: Typen unverträglich Debug.Print Val("1 5 12 14 33 41") ' 1512143341, denn Leerzeichen werden ignoriert | CDbl |
|
Da Variant-Variablen an keinen Datentyp gebunden sind, können beliebige Daten in ihnen untergebracht werden. Die 'TypeName'-Funktion ermittelt, welchen Unter-Datentyp die Variable angenommen hat. Das Ergebnis ist eine Ganzzahl (z. B. '8' für Zeichenkette). Eine komplette Liste der Werte finden Sie in der VBA-Hilfe. | Dim varValue As Variant Debug.Print VarType(varValue) ' 0 (Empty, Variant-Variable wurde noch nicht verwendet) varValue = "Hallo!" Debug.Print VarType(varValue) ' 8 (String) varValue = 2 Debug.Print VarType(varValue) ' 2 (Integer) | Datentyp 'Variant', TypeName |
|
Ermittelt den Index des Wochentages, das in einer Datumsangabe steckt. Standardmäßig gilt Sonntag als erster Wochentag (in den U.S.A. ist Sonntag der erste Wochentag, in Deutschland Montag ...). Achtung: Die WeekdayName-Funktion verwendet die Systemeinstellung als Voreinstellung für den ersten Tag der Woche, deshalb wie im Beispiel dafür sorgen, dass beide Funktionen die gleiche Grundlage verwenden (hier: vbSunday)! | ' Gibt den heutigen Wochentag zurück Debug.Print WeekdayName(Weekday(Date, vbSunday), , vbSunday) | Rechnen_mit_Datumswerten, WeekdayName |
|
Ermittelt den Namen des Wochentages, der in einer Datumsangabe steckt. Der Name wird entsprechend der Systemsprache zurückgegeben. Achtung: Die WeekdayName-Funktion verwendet die Systemeinstellung als Voreinstellung für den ersten Tag der Woche, deshalb wie im Beispiel dafür sorgen, dass beide Funktionen die gleiche Grundlage verwenden (hier: vbSunday)! | ' Gibt den heutigen Wochentag zurück Debug.Print WeekdayName(Weekday(Date, vbSunday), , vbSunday) | Rechnen_mit_Datumswerten, Weekday |
|
Gibt die Zeilenbreite beim Beschreiben einer Datei an. Hierzu gibt es erst einmal kein Beispiel, weil die angebotenen Beispiele nicht funktionieren. | Arbeiten mit Dateien | |
|
Schreibt eine einzelne Zeile in eine mit 'Open' geöffnete Datei. | Arbeiten mit Dateien, Print | |
|
Ermittelt das Jahr, das in einer Datumsangabe steckt. | Debug.Print Year(Date) ' Gibt das aktuelle Jahr zurück | Rechnen_mit_Datumswerten |
Schlüsselwörter
Schlüsselwort | Bedeutung | Beispiel | Siehe auch |
---|---|---|---|
|
Wird verwendet, um den Datentyp einer Variablen, einer Konstante oder einer Funktion (bzw. Property Get) anzugeben. | ||
|
| | ||
|
Datentyp für boolesche Werte, welche nur die Werte 'Wahr' oder 'Falsch' ('True' oder 'False') aufnehmen können. | ||
|
| | ||
|
Wird bei der Deklaration von Konstanten verwendet. Bei Modulvariablen wird Const zusätzlich angegeben, bei Prozedurvariablen statt dem Dim .
|
||
|
Datentyp für Kommazahlen mit 15 Vorkomma- und 4 Nachkommastellen. | ||
|
| | ||
|
| | ||
|
Wird bei der Deklaration von Prozedurvariablen verwendet. Außerhalb einer Prozedur darf Dim nicht eingesetzt werden!
|
||
|
Wird im Zusammenhang mit der Do-Schleife verwendet. | ||
|
Datentyp für Kommazahlen. | ||
|
Eine Systemkonstante, die 'leer' repräsentiert ("" oder 0). Sie wird verwendet, um zu prüfen, ob eine Variable vom Datentyp Variant einen Wert enthält, ohne wissen zu müssen, ob die Variable einen Text oder eine Zahl enthält. Siehe auch 'IsEmpty'. | ||
|
Beendet eine If-Abfrage, eine Select-Case-Anweisung, eine Prozedur, einen With-Block oder die Definition eines Type bzw. eines Enumerators. Achtung: Wenn =====End ===== ohne Bezug auf das Element eingesetzt wird, an dessen Ende es steht, wird die weitere Ausführung des Programms komplett abgebrochen!
|
||
|
| | ||
|
Wird für die Fehlerbehandlung verwendet. Kann entweder im Zusammenhang mit On Error oder als 'Error'-Funktion verwendet werden.
|
||
|
| | ||
|
Verlässt unverzüglich die aktuelle Schleife oder Prozedur. | ||
|
| | ||
|
Leitet eine For-Schleife ein. | ||
|
Gibt an, dass die hier deklarierte Prozedur eine Funktion ist und somit einen Rückgabewert zurückgeben kann. | ||
|
| | ||
|
| | ||
|
| | ||
|
Leitet eine If-Abfrage ein. | ||
|
Wird als Vergleichsoperator bei Objekten verwendet (statt '='). Außerdem erscheint 'Is' in 'Select Case'-Anweisungen, wenn dort ein Vergleichsoperator angegeben wird. | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
Wird verwendet, um eine neue Instanz eines Objektes zu erzeugen. | Set colCollection = New Collection ' Eine neue Auflistung Set myData = New clsData ' Ein neues Klassenobjekt Set dlg = New frmDialog ' Ein neues Formular (Dialog, UserForm) aber nicht: Set wkb = New Workbook ' Anwendungs-Objekte können referenziert, aber nicht mit 'New' erzeugt werden Wenn Sie eine 'neue' Arbeitsmappe benötigen, verwenden Sie Set wkb = Workbooks.Add | Klassenobjekte |
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|
| | ||
|