Visual Basic Grundlagen: Befehle und Funktionen

Datumsfunktionen Rechenfunktionen Zeichenkettenfunktionen Abfragefunktionen usw.

Tabelle mit Laptop bearbeiten

Visual Basic bietet eine Reihe von verschiedenen Befehlen und zahlreichen Funktionen, die wir nachfolgend (ohne Anspruch auf Vollständigkeit) dokumentieren. Unter anderem finden Sie hier Datumsfunktionen, Rechenfunktionen, Zeichenkettenfunktionen, Abfragefunktionen, Umwandlungsfunktionen sowie Beispiele zur Programmierung einer MessageBox sowie von Programmschleifen.

Der zweite Teil dieser Dokumentation besteht aus Merksätzen zu Visual Basic, unter anderem zu Grundlagen-Themen wie Variablen, Objekten, Klassen, Methoden, Ereignissen, das Arbeiten mit der IDE, zu Projekten, dem Compiler, zu Formularen, Deklarationen und Format-Funktionen, sowie Prozeduren, Berechnungen, Steuerelementen und dem Steuerelementefeld sowie dem Errorhandling.

Datumsfunktionen

Deutsch English Hinweise Syntax Beispiele
ZuVariantDatumZeit CDate Wandelt einen gültigen Datumsstring in den Datumstyp Date um Print CDate("23.06.19") ' ergibt 23.06.2019
DatumZeit Date, vbDate Liefert das aktuelle Systemdatum in Form eines Datumstyps (nur zwischen dem 1.1.1980 und 31.12.2099) Print Date() ' Beispiel: 16.08.2022
Datumsberechnung DateAdd Berechnet ein Datum ausgehend von einem anderen Datum und einer Zeitdifferenz
Datumsdifferenz DateDiff Berechnet die Zeitdifferenz zwischen Daten in Tagen (z. B. Differenz zwischen jetzt und dem 1.1.2000) AnzahlTage = DateDiff("d", Now, "1.1.0")
Text1.Text = AnzahlTage
Datumsteil DatePart Berechnet aus einem Datumstyp einen bestimmten Teil, z. B. die Nummer der Woche oder des Quartals
Datumszahl DateSerial Wandelt ein Datum in einen Datumstyp um (in Form von drei Werten: Jahr, Monat, Tag).
(DateSerial(2021, n, 1), "mmmm") ergibt Januar / Februar.
(DateSerial(2022, 2, 12)) ergibt den 12.2.2022
For j = 1995 To 2022
  List1.AddItem Format(DateSerial(j, 1, 1))
Next j
Datumswert DateValue Wandelt ein Datum in einen Datumstyp um (Zeichenkette, die ein gültiges Datum darstellt) DateValue(Date As Variant) As Variant
Tag Day Extrahiert aus einem Datum die Tageszahl Print Day(Now) ' liefert den aktuellen Tag als Zahl
Stunde Hour Extrahiert aus einem Datum die Stundenzahl Print Hour(Now) ' liefert die aktuelle Stunde
Minute Minute Extrahiert aus einem Datum die Minutenzahl Print Minute(#11:45#) ' liefert 45
Monat Month Extrahiert aus einem Datum die Monatszahl Print Month(Now) ' liefert den aktuellen Monat
Monatsname MonthName Stringfunktion für die Datumausgabe Print MonthName(11, True) ' liefert Nov
Jetzt Now Liefert aktuelles Systemdatum und -zeit Print Now() 'Beispiel: 15.06.2019 11:15:18
Sekunde Second Extrahiert aus einem Datum die Sekundenzahl Print Second(Now) ' liefert die aktuelle Sekunde
Zeit Time Liefert die aktuelle Systemzeit; oder stellt die Systemzeit ein Print Time() ' Beispiel: 11:35:46
Zeitgeber Timer Liefert die Anzahl der seit Mitternacht vergangenen Sekunden Timer As Single
Print Timer ' Beispiel: 43843,23
Zeitzahl TimeSerial Erzeugt Zeit aus Einzelangaben Print TimeSerial(12,45,0) ' ergibt 12:45:00
Wochentag WeekDay Extrahiert aus einem Datumstyp eine Zahl für den Wochentag
(1 = Sonntag ... 7 = Samstag)
Print Weekday("11.08.2019")
Wochentagname WeekdayName Stringfunktion für die Datumausgabe Print WeekdayName(1) ' liefert "Montag"
Jahr Year Extrahiert aus einem Datumstyp die Jahreszahl alter = Year(Date) - Year(GebDatum)

Rechenfunktionen

Deutsch English Hinweise Syntax Beispiele
Abs Abs Berechnet den Absolutwert einer Zahl x, also den Zahlenwert ohne Vorzeichen
Und And Logischer Operator (Verknüpfte Entscheidungen sollte man jedoch auf mehrere Befehle verteilen...) If Sensor1 = True And Sensor2 = True Then Alarm
If Sensor1 = True Then
  If Sensor2 = True Then
    Befehle123
  End If
End If
ArcTan Atn Berechnet den Arcustangens eines Längenverhältnisses
Cos Cos Berechnet den Cosinus eines Winkels x (Bogenmaß)
Exp Exp Berechnet den Exponent zur Basis e. Das Ergebnis kann max. 709782712893 betragen (sonst Überlauf)
Schneide Fix Berechnet den ganzzahligen Anteil einer Zahl, rundet ab
RundeAb Int Berechnet den ganzzahligen Anteil einer Zahl, rundet ab Select Case Int(Sqr (Rnd*Zahl)) + 1
Ln Log Berechnet den natürlichen Logarithmus einer Zahl, bezogen auf die Basis e
Oder Or Logischer Operator If Sensor1 = True Or Sensor2 = True Then NoAlarm
ZufallInit Randomize Steht eine Zeile vor der Rnd-Formel und sorgt dafür, das ständig neue Zufallszahlen ausgegeben werden Randomize
x = (6 * Rnd - 1)
Zufallszahl Rnd Berechnet eine Zufallszahl zwischen 0 und 0.99999 MaxZahl = Int((1024 - 256 + 1) * Rnd + 256)
Runden Round Fließkommazahl wird auf die gewünschte Anzahl an Stellen gerundet
VZchn Sgn Berechnet den Typ des Vorzeichens: Das Ergebnis ist -1 bei negativen, 1 bei positiven Zahlen, und 0, wenn das Argument 0 ist
Sin Sin Berechnet den Sinus eines Winkels x (Bogenmaß) Bogenmass = Gradmass / 360 * 2 * Pi
Wurzel Sqr Berechnet die Quadratwurzel; negative Werte sind nicht erlaubt If Zahl > 0 Then Wurzel = Sqr (Zahl)
Tan Tan Berechnet den Tangens eines Winkels x
Entdecken Sie weitere Themen in mehr als 3.000 Beiträgen! Nutzen Sie die Suchfunktion:

Zeichenkettenfunktionen

Deutsch English Hinweise Syntax Beispiele
Zn Chr Wandelt Zeichencode (0-255) in einen 1-Zeichen-String um Chr$(68) ergibt "D"
Filter Filter Durchsucht ein Feld von Strings nach einem TeilString und gibt ein Feld mit Strings zurück, in denen der TeilString vorkommt bzw. nicht vorkommt TestFeld2 = Filter(Testfeld1, "tag")
InZnF InStr Gibt die Position eines TeilStrings in einem größeren String zurück, wobei zusätzlich die Startposition und die Art des Vergleichs (0 Binäre Suche, 1 Groß- / Kleinschreibung) festgelegt werden kann If Instr(Name, "Hans Egon") Then Vorname = Gefunden

'sucht den Buchstaben a in einem String:
Print Instr("Hallo", "a") ergibt 2
--- InstrRev Das Gegenstück zur Instr-Funktion. Durchsucht einen String nach einem TeilString, wobei die Suche am Ende der Zeichenkette beginnt. Ergebnis ist die Position des Teil-Strings Pos = InstrRev(Gesamtstring, vbNullChar)
'sucht den letzten Backslash im String:
Print InStrRev("C:\WINNT\system32\drivers\isdn", "\") 'ergibt 26
--- Join Setzt einen String aus TeilStrings zusammen, die in Form eines Feldes übergeben werden. Als zweites Argument kann ein Trennzeichen übergeben werden, das die einzelnen TeilStrings im zusammengesetzten String trennt GesamtName = Join(NamenFeld), ":")
Links Left Trennt n Zeichen von links beginnend ab und gibt sie als String zurück Left$("Hallo", 2) ' ergibt "Ha"
Länge Len, (Length) Ermittelt die Länge eines Strings Print Len("Hallo") ' ergibt 5
KürzeL LTrim Schneidet von einem String alle führenden Leerzeichen ab LTrim$(String)
TeilZnF Mid Trennt ab der Position n Anzahl Zeichen aus dem String heraus und gibt sie als String zurück Mid$(String, n, Anzahl) = Mid$("Hallo", 2, 1) ergibt "a"
Ersetze Replace Ersetzt einzelne TeilStrings, die in Form eines Feldes übergeben werden TestString = "The blue moon and the blue gras"
Ergebnis = Replace(TestString, "blue", "yellow", Count:=2)
Rechts Right Trennt n Zeichen von rechts beginnend ab und gibt sie als String zurück Right$(String, n)
KürzeR RTrim Schneidet von einem String alle angehängten Leerzeichen ab RTrim$(String)
Teile Split Teilt einen String anhand eines Trennzeichens in TeilStrings auf und gibt diese in einem Feld zurück Feld2 = Split("rot",gelb,grün", ",")
ZnF Str Wandelt den Ausdruck in einen String um. Besser ist im allgemeinen die Format-Funktion, da man hier festlegen kann, wie der String gebildet wird Str$(Ausdruck) = Print Str$(25) ergibt " 25" (mit führendem Leerzeichen!)
VergleicheZnF StrComp Vergleicht zwei Strings miteinander und gibt einen True/False-Wert zurück StrComp(String1, String2[, Vergleich])
KonvertiereZnF StrConv Konvertiert Strings von Ansi- in Unicode oder von Klein- in Großbuchstaben StrConv(String, Umwandlungs-Typ)
Zeichenfolge String Erstellt einen String, der aus Anzahl Zeichen mit dem Ansi-Code Zeichen besteht String(Anzahl, Zeichen)
Umkehren StrReverse Kehrt die Reihenfolge der Zeichen in einem String um und gibt das Ergebnis als String zurück Ergebnis = StrReverse("OttoX")
Kürze Trim Schneidet von einem String sowohl alle führenden als auch alle angehängten Leerzeichen ab Trim$(String)

Abfragefunktionen

Deutsch English Hinweise Syntax Beispiele
IstDatenfeld IsArray Stellt fest, ob ein Ausdruck den Unterdatentyp Array (Feld) besitzt
IstDatumZeit IsDate Stellt fest, ob ein Ausdruck den Unterdatentyp Date (Datum) besitzt
IstLeer IsEmpty Stellt fest, ob eine Variable initialisiert wurde oder den Zustand Empty besitzt:
Sub ProzedurNeu (Optional tmpZahl As Variant)
  If IsEmpty(tmpZahl) = True Then tmpZahl = 0
End Sub
Do
b = ZeichenLesen()
If IsEmpty(b) = True Then Exit Do
  Zeichenkette = Zeichenkette + b
Loop
IstFehler IsError Stellt fest, ob ein Ausdruck den Typ Error besitzt
IstFehlend IsMissing Stellt fest, ob einem optionalen Prozedurargument vom Typ Variant ein Wert übergeben wurde
IstNull IsNull Stellt fest, ob ein Ausdruck den Wert Null (nicht 0) besitzt; z. B. bei Datenbankfeldern ohne Inhalt
IstZahl IsNumeric Stellt fest, ob ein Ausdruck numerisch ist If IsNumeric(txtZielbetrag) = False Then...
IstObjekt IsObject Stellt fest, ob es sich bei einem Ausdruck um eine Referenz auf ein Objekt handelt
IstVariant IsVariant Stellt fest, ob ein Ausdruck den Typ Variant besitzt
TypName TypeName Gibt den Daten- bzw. Objekttyp eines Ausdrucks als Zeichenkette zurück
VarTyp VarType Gibt den Datentyp eines Ausdrucks als Zahl zurück

Umwandlungsfunktionen

Deutsch English Hinweise Syntax Beispiele
Code Asc Ermittelt den Ansi-Code eines Stringzeichens. Besteht der String aus mehreren Zeichen, wird nur das erste verwendet Print Asc("D") 'ergibt 68
ZuBoolesch CBool Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Boolean um. Ein boolscher Wert kann nur 0 (False) oder 1 (True) annehmen txtZahlung.Enabled = CBool(chkZahlung.Value)
Byte CByte Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Byte um
ZuWährung CCur Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Currency um; Nachkommastellen werden auf 4 gekürzt Betrag = CCur(txtEingabe.Text)
ZuDatumZeit CDate Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Date um
ZuDoppelt CDbl Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Double um Sheets(1).Cells(1, 2) = CDbl(Betrag)
Dezimal CDec Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Decimal um
Error CErr Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Error um
ZuGanz CInt Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Integer um. Fließkommawert wird gerundet Laufzeit = CInt(txtLaufzeit.Text)
ZuLang CLng Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Long um. Fließkommawert wird gerundet AnzahlMeter = CLng(txtMeter.Text)
ZuEinfach CSng Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Single um Wert = Wert + CCur(txtMoney.Text) * CSng(txtMonat.Text)
ZuZnF CStr Wandelt einen numerischen Ausdruck in eine Zahl vom Typ String um
ZuVariant CVar Wandelt einen numerischen Ausdruck in eine Zahl vom Typ Variant um
Format Format Zahlen (Währung, Datum...) lassen sich mit verschiedenen Parametern in eine bestimmte optische Form bringen
Währung FormatCurrency Ersetzt die allgemeine Formatmethode in bestimmten Situationen lblErgebnis.Caption = Format$(Ergebnis, "Currency")
Datum / Zeit FormatDateTime Ersetzt die allgemeine Formatmethode in bestimmten Situationen
Nummer FormatNumber Ersetzt die allgemeine Formatmethode in bestimmten Situationen
Prozent FormatPercent Ersetzt die allgemeine Formatmethode in bestimmten Situationen txtKonto.Text = Format$(7.5, "Percent") & "Prozent"
Hex Hex Wandelt einen numerischen, ganzzahligen Ausdruck in die entsprechende Hexadezimalzahl um. Umgekehrt geht es nur über das Direktfenster ("Debug.Print &H3E8" liefert den Wert 1000) Dim Hex1
Hex1 = Hex(5) liefert 5
Hex1 = Hex(10) liefert A
Hex1 = Hex(459) liefert 1CB
Klein LCase Wandelt einen String in Kleinbuchstaben um Print LCase$("Hallo") ' ergibt "hallo"
Okt Oct Wandelt einen numerischen, ganzzahligen Ausdruck in die entsprechende Oktalzahl (zur Basis 8) um
LZn Space Liefert n Leerzeichen s = Space (5) & text ' ergibt: " Hallo"
Gross UCase Wandelt einen String in Großbuchstaben um Print UCase$("Hallo") ' ergibt "HALLO"
Wert Val Berechnet den numerischen Wert eines Strings. Man sollte jedoch anstelle von Val die Cx-Funktionen verwenden Eintrag = Val(InputBox("Geben Sie die Nummer ein"))
Print Val("25") ' ergibt 25

Allgemeine Funktionen in Visual Basic

Deutsch English Hinweise Syntax Beispiele
Verz Dir Gibt den Namen einer Datei im aktuellen Verzeichnis zurück, deren Name mit dem Muster (z. B. *.txt) übereinstimmt
Abgrenzen Environ Gibt den Wert einer im Betriebssystem angelegten Umgebungsvariablen zurück
DAttr FileAttr Gibt den Zugriffsmodus einer in VBA geöffneten Datei als Zahl zurück
DDatumZeit FileDateTime Gibt das Datum der letzten Änderung einer Datei als Datumstyp zurück
DLänge FileLen Gibt die Länge einer Datei in Bytes zurück, deren Dateiname übergeben wurde
DNrNeu FreeFile Gibt die nächste freie Dateibezugsnummer (file handle) zurück, die für einen Open-Befehl verwendet werden kann
Pos LOC Gibt die aktuelle Position des Dateizeigers, der die Schreib- /Leseposition beim nächsten Zugriff festlegt, für eine geöffnete Datei zurück
DGrösse LOF Gibt die Länge einer bereits geöffneten Datei in Bytes zurück
Teilbereich Partition Gibt die Nummer eines Bereichs als String zurück, in dem sich ein übergebener Wert befindet, wobei der Bereich in feste Intervalle (z. B. 1000er-Schritte) unterteilt wird

Die Message Box: MsgBox Funktionen

Deutsch English Hinweise Syntax Beispiele
MeldungsDialog MsgBox Ausgabe einer Meldung über eine MessageBox Befehle dazu siehe: vbYesNo, vbYesNoCancel...
Titel Title Titelleisten-Beschriftung der MsgBox; wird kein Button ausgegeben, müssen zwei Kommas in die Befehlszeile MsgBox "Das ist nur ein Test", , "NoTextToday, please!"
Abbruch vbAbort Konstante für MsgBox Case 3
Abbruch Wiederholen Ignorieren vbAbortRetryIgnore Drei Schaltflächen in MsgBox mit Umbruch im Text MsgBox "Möchten Sie abbrechen " & vbCrLf & "oder weitermachen?", 2, "Titel"
Abbrechen vbCancel Konstante für MsgBox Case 2
Kritisch vbCritical Hinweis-Icon in MsgBox MsgBox "Abbruch!", 16 + 0, "Titel"
Warnung vbExclamation Hinweis-Icon in MsgBox MsgBox "Achtung!", 48 + 0, "Titel"
Ignorieren vbIgnore Konstante für MsgBox Case 5
Information vbInformation Hinweis-Icon in MsgBox MsgBox "Information", 64 + 0, "Titel"
Nein vbNo Konstante für MsgBox Case 7
OK vbOK Konstante für MsgBox Case 1
OK Abbrechen vbOKCancel 2 Schaltflächen in MsgBox MsgBox "Text", 1, "Titel"
Nur OK vbOKOnly 1 Schaltfläche in MsgBox MsgBox "OK", 0, "Titel"
Frage vbQuestion Hinweis-Icon in MsgBox MsgBox "Frage", 32 + 0, "Titel"
Wiederholen vbRetry Konstante für MsgBox Case 4
Wiederholen Abbrechen vbRetryCancel 2 Schaltflächen in MsgBox MsgBox "Wiederholen", 5, "Titel"
Ja vbYes Konstante für MsgBox Case 6
Ja Nein vbYesNo 2 Schaltflächen in MsgBox MsgBox "Ja - Nein", 4, "Titel"
Ja Nein Abbrechen vbYesNoCancel 3 Schaltflächen in MsgBox MsgBox "Das ist nur ein Test", 3, "Titel"

Programmschleifen

Deutsch English Hinweise Syntax Beispiele
Wenn If (...Then Else End If) Leitet eine Entscheidung ein. Der If-Then-Befehl führt die auf Then folgenden Befehle nur dann aus, wenn der auf If folgende Ausdruck Wahr (ungleich Null) ist If 77 Then Ausführen
Dann Then Teil einer If Then-Entscheidung If Temperatur > 20 Then Einschalten
If Treffer > 19 Then Fehler = True
Sonst Else Leitet den Zweig einer If Then-Entscheidung ein. Kann auch Bestandteil einer Select Case-Entscheidung sein If Spielstand > 10 Then
  MsgBox "Gewonnen!"
Else
  MsgBox "Möchten Sie weiterspielen?"
End If
EndeWenn End If Beendet den mehrzeiligen Zweig einer If Then-Entscheidung If Gewinn > 1000 Then
  Wiederholen = False
  WinnerName = PlayerName
End If
SonstWenn ElseIf Zweig einer If Then-Entscheidung (gegenüber dem Else-Befehl Verkürzung möglich) If Spielstand > 10 Then MsgBox "Winner!"
ElseIf MsgBox "Weiterspielen?"
End If
Prüfe Select (...Case...) Leitet eine Mehrfach-Entscheidung ein Select Case Produktname
  Case Fall1: Befehl_1: Befehl_2: Befehl_3
  Case Fall2: Befehl
  Case Else: Fehler = True
End Select
Fall Case Select Case Zeichen
  Case "0" To "9": zString = zString & Zeichen
  Case Else: Befehl
End Select
Fall Case Is Prüft einen Zweig einer Select Case-Mehrfach Entscheidung Select Case Zahl
  Case Is > 100: MsgBox "Zahl größer 100"
  Case Is < 50: MsgBox "Zahl kleiner 50"
EndePrüfe End Select Beendet eine Select Case-Mehrfach-Entscheidung End Select
Für For (...Next) Leitet eine For Next-Schleife ein, die eine bestimmte Anzahl an Durchläufen macht; die Anzahl der Durchläufe steht also von Beginn an fest. Schleifen benötigen einen Startwert, einen Endwert, sowie ggf. eine Schrittweite Dim n As Integer (oder Long: keine Nachkommastellen)
For n = 1 To 100 (Nachkomma mit Integer unmöglich)
  Debug.Print n
Next
Schrittweite Step Legt die Schrittweite bei einer For Next-Schleife fest. Besitzt die Schrittweite einen Nachkommaanteil, benötigt man den genauen Deklarations-Typ Dim beta As Currency (Double oder Decimal)
For beta = 1 To 300 Step 0.3
  Befehle
Next
Nächste Next Teil einer For Next-Schleife: Beendet die durch den For-Befehl eingeleitete Programmschleife Dim Heute As Single (zeigt Nachkommastellen an)
For Heute = 10 To -10 Step -0.1
  Befehle
Next
Durchlaufe Do (...Loop) Leitet eine Do Loop-Schleife ein, die so lange läuft, bis eine Abbruchbedingung erfüllt ist; die Anzahl der Durchläufe ist unbekannt. Fehlt diese Abbruchbedingung, ist die Schleife endlos und wird unendlich oft durchlaufen Do
  (ProzedurName)
  StartKapital = StartKapital * (1 + Zins / 100)
Loop Until Kapital > EndKapital
Ereignisse DoEvents Während der Durchläufe soll die Endlosschleife auf andere Ereignisse reagieren können Do While DoEvents
  Befehle
Loop
BisWahr Until Legt die Abbruchbedingung einer Do Loop-Schleife fest.
Mehr zur Funktion "EOF" siehe dort
Do Until EOF(DateiNr)
  Line Input DateiNr, Eingabezeile
  AnzahlZeilen = AnzahlZeilen + 1
  txtAusgabe.Text = txtAusgabe.Text & Eingabezeile
Loop
Solange While Legt die Abbruchbedingung einer Do Loop-Schleife fest. Anstatt While kann auch Until verwendet werden, dann jedoch ohne den Not-Operator Do
  Line Input DateiNr, Eingabezeile
  AnzahlZeilen = AnzahlZeilen + 1
  txtAusgabe.Text = txtAusgabe.Text & Eingabezeile
Loop While Not EOF(DateiNr)
Schleife Loop Teil einer Do Loop-Schleife. Beendet die durch den Do-Befehl eingeleitete Programmschleife Do While n < 10
  n = n + 1
  Debug.Print n
Loop
Für For (...Each) Leitet eine For Each-Schleife ein. Wird für das Durchgehen einer (Objekt-)Auflistung verwendet
Alle Each Teil einer For Each-Schleife
GeheZu GoTo Führt einen Sprung innerhalb einer Prozedur oder Funktion durch. (Ist der Wert der Variablen "Wert" größer als Null, werden die dazwischen befindlichen Befehle übersprungen. Die Sprungmarke muss sich jedoch innerhalb der Prozedur "Form_Load" befinden.) Sub Form_Load ()
  If Wert > 0 Then GoTo Sprungmarke
  Befehle_123
Sprungmarke:
  Befehle_789
End Sub
Verlasse Exit Verlässt eine Programmschleife, Prozedur oder Funktion. Wird im allgemeinen in einer If-Abfrage ausgeführt Exit Do, Exit For, Exit Function, Exit Property, Exit Sub

Visual Basic Merksätze: Grundlagen, Variablen, Programmschleifen

Stichwort Hinweise Syntax Beispiele
Grundlagen Die Schritte, die zur Umsetzung eines Programms führen, werden als Algorithmus bezeichnet Algorithmus
Alle Daten, die ein Computer verarbeitet, werden in binärer Form (eine Folge von Nullen und Einsen) gespeichert, die als Bits bezeichnet werden Bits
Das fundamentale Konzept der Programmiersprachen sind: Variablen, Entscheidungen und Programmschleifen
Variablen sind die wichtigsten Programm-Elemente einer Programmiersprache
Eine Variable ist dazu da, um beliebige Werte in einem Programm zu speichern, so dass sie zu einem späteren Zeitpunkt der Programmausführung wieder benutzt werden können
Gültige Variablen-Namen sind z. B. GeldBetrag1, Vor2Name, Ort3
müssen mit einem Buchstaben beginnen AnzahlSpieler1
dürfen keine Leerzeichen oder folgende Sonderzeichen beinhalten . , : ! $ % & #
dürfen nicht länger als 255 Zeichen sein
dürfen keine Schlüsselwörter (z. B. Befehlsnamen) sein GoTo, Explicit, Sub, Dim, Const
dürfen in ihrem Gültigkeitsbereich (innerhalb der Prozedur oder eines Moduls) nur einmal vorkommen
Die Groß- und Kleinschreibung spielt sowohl bei Bezeichnern als auch bei Befehlen keine Rolle gEldbeTrAg1, vor2Name, ort3
müssen mit dem Befehl Dim deklariert werden. Erst danach kann man ihnen einen Wert zuweisen Dim MehrwertSteuer, Vor8Name, Ort5
Alternativ kann man folgende Deklarationen verwenden: Private, Public
Konstanten Neben (veränderlichen) Variablen gibt es Konstanten, deren Wert sich während der Programm-Ausführung nicht ändern können. Befehl: Const Const MehrWert1 = 1,075
Const Pfadt = "D:\Graphics\Icons\Elements\"
Entscheidungen sind (Aktions)Befehle, die einen oder mehrere Befehle nur dann ausführen, wenn ein bestimmter Ausdruck, z. B. eine Variable, einen bestimmten Wert besitzt.
Im Beispiel rechts prüft der If-Befehl einen Ausdruck:
If GeldBetrag > MaximalBetrag Then
  MsgBox "Nicht auszahlen"
Else
  GeldbetragAuszahlen
End If
Programmschleifen Eine beliebige Gruppe von Befehlen wird eine bestimmte Anzahl oft wiederholt. Man unterscheidet: For Next- und Do Loop-Schleifen
For Next-Schleife: Hier wird die Anzahl der Durchläufe bereits am Anfang festgelegt For Zähler = 10 To 0 Step 1
  MsgBox "Countdown: " & Zähler
Next
Do Loop-Schleife: Hier steht die Anzahl der Durchläufe nicht bereits fest, wenn die Schleife gestartet wird. Statt dessen wird die Schleifen-Abbruchbedingung entweder nach dem Do-Befehl oder nach dem Loop-Befehl getestet Zähler = 10
Do
  MsgBox "Countdown: " & Zähler
  Zähler = Zähler -1
Loop Until Zähler < 0
Die Do-Loop-Schleife sollte man immer der For-Next-Schleife vorziehen (eine FN-Schleife kann man immer in eine Do-Loop-Schleife umwandeln; umgekehrt geht es nicht!)
Befehle gibt es in drei Kategorien: Deklarationen, Aktionen, Kommentare
Deklarationen legen den Namen einer Variablen fest Dim SteuerSatz3
Aktionen rufen z. B. Prozeduren auf Call MeineProzedur1
Kommentare sind Anmerkungen des Programmierers, haben auf die Programm-Ausführung keine Auswirkung, und beginnen mit einem Apostroph ' Dies ist ein Kommentar
Eingaben und Ausgaben Berechnungen müssen nach außen hin sichtbar gemacht werden. Man unterscheidet: Eingabe- und Ausgabemöglichkeiten
Eingaben sollen vom Benutzer eingegeben werden. Dies erreicht man über die Steuerelemente eines Formulars, oder über die InputBox-Funktion Eingabe = Inputbox("Gib die PLZ ein")
Ausgaben zeigen dem Benutzer das Ergebnis nur an. Dies erreicht man über die Steuerelemente eines Formulars, oder über die MsgBox-Funktion MsgBox "Die PLZ lautet " & PLZ

Visual Basic Merksätze: Objekte, Klassen, Methoden, Ereignisse

Stichwort Hinweise Syntax Beispiele
Objekte sind Programm-Elemente, die bereits fertig vorliegen, und die man von einem VBA-Programm aus ansprechen kann, z. B. Steuerelemente in einem Formular, globale Objekte (App, Clipboard, Debug, Screen), oder ActiveX-Steuerelemente
besitzen stets fünf Merkmale: einen Namen, eine Klasse, von der das Objekt abstammt, Eigenschaften, Methoden und Ereignisse
Name eines Objekts Legt den Programmnamen fest, über den das Objekt angesprochen wird. Der Name eines Objekts ist vorgegeben und kann nicht geändert werden Falsch: Screen
Richtig: Screen.FontCount
Der Aufruf eines einzelnen Befehls ohne den Zusatz einer Eigenschaft oder einer Methode ist jedoch nicht erlaubt
Objekte werden also immer im Zusammenhang mit einer Eigenschaft oder einer Methode angesprochen (Beispiel: Name.Eigenschaft) MsgBox "Es sind " & Screen.FontCount & "Schriften installiert"
Auf einen Objektnamen folgt immer eine Eigenschaft oder eine Methode. Beide werden durch einen Punkt voneinander getrennt. Kombinationen daraus bezeichnet man als ObjektAusdruck Variable = ObjektName.Eigenschaft.Eigenschaft
Anzahl = rsLagerbestand.Fields("Artikel").Value
Klasse eines Objekts Gibt die Abstammung des Objekts an und bestimmt damit, über welche Eigenschaften, Methoden und Ereignisse es verfügt Variable ObjektName Klasse
Private rsSpieler As Recordset
Im obigen Beispiel macht der Befehl die Variable aber lediglich bekannt. Ein Anlegen des Objekts im Arbeitsspeicher findet hier noch nicht statt. Dies wird irgendwann später durch einen Set-Befehl nachgeholt: Set rsSpieler = New Recordset
Eigenschaft des Objekts Weist bestimmte Attribute (z. B. Farbe, Überschrift) zu, die das Verhalten und Aussehen des Objekts festlegen cmdStart.Caption = "Beispiel"
Methode des Objekts Ermöglicht es, mit dem Objekt eine bestimmte Aktion durchzuführen (löscht hier die Innenfläche des aktuellen Formulars) Me.Cls
Ereignis eines Objekts Wird dazu benutzt, dass das Objekt mit seiner Außenwelt in Verbindung treten kann. Passiert etwas in dem oder mit dem Objekt, wird ein Ereignis ausgelöst, das zum Aufruf einer EreignisProzedur führt Beispiel:
Click-Ereignis einer Schaltfläche
Der Prozedur-Name einer Ereignis-Prozedur setzt sich aus dem Objekt-Namen und dem Ereignis-Namen zusammen, wobei beide durch einen Unterstrich getrennt werden Sub cmdStart_Click ()
  MsgBox "Feierabend." & vbCrLf & "Ab nach Hause."
End Sub

Visual Basic Merksätze: Arbeiten mit der IDE, Projekte, Compiler

Stichwort Hinweise Syntax Beispiele
Arbeiten mit der IDE Neue Projektdateien stets mit einem sinnvollen Namen abspeichern; niemals mit der Vorgabe Projekt1.vbp. Es besteht die Gefahr des Überschreibens Zinsrechner.vbp
Neue Formulare stets mit einem sinnvollen Namen abspeichern, niemals mit der Vorgabe Form1.frm. Es besteht die Gefahr des Überschreibens frmBestandskontrolle.frm
Den Programmstart eines Projekts sollte man nur über die Tastenkombination [Strg + F5] ausführen. Dies führt dazu, dass das gesamte Projekt übersetzt wird und Fehlerquellen (z. B. nicht deklarierte Variablen) gemeldet werden Strg + F5
Projekte Nach dem Start von VB wird allgemein folgender Projekttyp gewählt: Standard-Exe
Eine Projektdatei enthält keine ausführbaren Programmbefehle; sie enthält lediglich die Namen aller an dem Programm beteiligten Module sowie die Einstellungen aller Projektoptionen
Ausführbare Programmbefehle enthalten nur die folgenden drei Modultypen: Formulare, allgemeine Module, Klassenmodule
Komponenten sind Steuerelemente und Formulare, also Software-Bausteine, die über Eigenschaften, Methoden und Ereignisse angesprochen werden
Compiler Die Aufgabe des Compilers ist es, aus dem Programmtext ein ausführbares Programm zu machen Menü Datei: Exe-Datei erstellen
Man unterscheidet P-Code (ein Zwischencode, der von der Laufzeitbibliothek interpretiert werden muss), sowie Maschinencode, der aus reinen CPU-Befehlen besteht und etwas schneller ausgeführt wird P-Code
Exe-Dateien können nur ausgeführt werden, wenn folgende Laufzeitbibliotheks-Datei auf dem System vorhanden ist: Msvbvm60.dll

Visual Basic Merksätze: Formulare, Deklarationen, Format-Funktion, Prozeduren, Berechnungen

Stichwort Hinweise Syntax Beispiele
Formulare sind leere Arbeitsflächen, auf denen die Steuerelemente für die Ein- und Ausgabe von Daten angeordnet werden. Formulare verhalten sich sonst rein passiv Erweiterung: *.frm
Über das Menü Projekt: Formular Hinzufügen kann man jederzeit weitere Formulare in das Projekt integrieren
Diese werden jedoch nach einem Programmstart nicht automatisch angezeigt, sondern müssen (z. B. über die Show-Methode) geladen und sichtbar gemacht werden
Auf einem Formular kann zu einem Zeitpunkt nur ein Steuerelement Tastatureingaben entgegennehmen. Dieses Steuerelement wird als das Steuerelement mit dem Eingabefokus bezeichnet
allgemeine Module --> Erweiterung: *.bas
Klassenmodule --> Erweiterung: *.cls
Deklarationen Der Deklarationsteil eines Moduls kann keine Befehle enthalten Dim Heimspiel As Integer
Typen- und Funktionsdeklarationen in einem Formularmodul muss ein Private-Befehl vorausgehen. Das bedeutet, dass sie nur in diesem Modul, auch nicht von anderen Modulen aus, angesprochen werden können Option Explicit
Private Kapital As Currency
Format-Funktion Über diese Funktion kann man Zahlen in eine bestimmte optische Form bringen (z. B. Währungs- oder Datumsangaben). Wichtige Formatbezeichner und deren Bedeutung sind:
Currency: hier wird eine Zahl gemäß den Einstellungen der Systemsteuerung als Währungsstring zurückgegeben: lblAusgabe1.Caption = Format$(12.50, "Currency")
Fixed: es wird mindestens eine Vor-, und höchstens zwei Nachkommastellen angezeigt, wobei eine automatische Rundung stattfindet: Me.Print "Kosten:"; Format$(Kosten1, "Fixed")
Percent: die Prozentdarstellung: Me.Print "Kosten:"; Format$(0.12, "Percent")
Short Date: stellt das kurze Datumsformat dar (z. B. 25.06.23):
Long Date: stellt das lange Datumsformat dar (z. B. Mittwoch, 25. Juni 2023):
Scientific: die wissenschaftliche Darstellung von Zahlen: Print Format$(2*3.14*d, "Scientific")
Zuweisungen Variablen muss man einen Wert zuweisen, sonst haben sie in einem Programm keinen Nutzen GeldBetrag1 = 100
Mehr2WERT = 16
Objektvariablen erhalten ihren Wert immer über einen Set-Befehl. Beispiel: Die (Objekt)Variable Formular erhält eine "Referenz" auf ein Objekt, in diesem Fall das Formular mit dem Namen frmHaupt Set Formular = frmHaupt
Prozeduren Alle Befehle, die sich in Prozeduren, Ereignisprozeduren und Funktionen befinden, werden im Prozedur-Teil eines Formularmoduls untergebracht
Ereignis-Prozeduren sind Prozeduren in einem Formular, die nicht vom Programm, sondern nach Eintreten eines Ereignisses (z. B. Mausklick) aufgerufen werden Sub cmdStart_Click ()
  Rakete.Starten
End Sub
Berechnungen Priorität der Operatoren: ^ PotenzOperator
- Vorzeichen-Operator, unäres Minus
* / Punktrechnung
\ IntegerDivision
Mod Division mit Rest
+ - Strichrechnung
  =, <>, <, >, <=, >= (Vergleichs-Operatoren)
NOT, AND, OR, XOR, EQV, IMP

Visual Basic Merksätze: Steuerelemente, Steuerelementefeld, Errorhandling

Stichwort Hinweise Syntax Beispiele
Steuerelemente sind Komponenten, die z. B. in der Werkzeugsammlung enthalten sind. Die wichtigsten Elemente sind standardgemäß "fest" eingebaut, können also aus der Werkzeugsammlung nicht entfernt werden
besitzen Namen, die zunächst automatisch vergeben werden, jedoch aussagelos sind (z. B. Form1, Label1). Es wird empfohlen, jedem Element einen aussagekräftigen Namen zu geben, dem ein Präfix vorangesetzt wird. Es gelten folgende Namenskonventionen:
frm = Form Formular frmBestand
fra = Frame Rahmenfeld fraOptionen
cmd = CommandButton Schaltfläche cmdStart
lbl = Label Bezeichnungsfeld lblAusgabeZins
txt = TextBox Textfeld txtEingabe
pic = PictureBox Bildfeld picAusgabeWert
img = Image Anzeige (von Bildern) imgMeinBild
opt = OptionButton Optionsfeld optEnglisch
chk = CheckBox Kontrollkästchen chkBarzahlung
tmr = Timer Zeitgeber tmrTimer1
lst = Listbox Listenfeld lstMannschaften
cbo = ComboBox Kombinationsfeld cboSchriftarten
vsc = VScroll Vert. Bildlaufleiste vscVertikal
hsc = HScroll Horiz.Bildlaufleiste hscHorizontal
besitzen Eigenschaften, die das Verhalten und Aussehen ändern können. Neue Werte kann man im Eigenschaftenfenster (Taste F4) zuweisen, z. B.: Name, BorderStyle, Caption, Left, Top, Backcolor, Sorted, Font...
Über das Menü Projekt: Komponenten kann man jederzeit neue Steuerelemente in die Werkzeugsammlung laden. Diese müssen sich in Gestalt einer OCX-Datei auf dem PC befinden
Größe und Position der Steuerelemente werden in der Maßeinheit Twips angegeben. Das Twip ist eine Längeneinheit, die von der Bildschirmauflösung abhängig ist Über die ScaleMode-Eigenschaft kann man aber auch andere Maßeinheiten einstellen!
567 Twips entsprechen einem logischen Zentimeter, also einem Bildschirmzentimeter, der beim Ausdruck 1 cm lang ist
Steuerelemente-Feld Steuerelemente in einem Steuerelemente-Feld besitzen immer einen Index, der in Klammern auf den Namen des Steuerelements folgt For counter = 1 To 20
  txtEingabe(counter).Text = "AlterWert"
Next
Dieselbe Schleife geht auch mit LBound und UBound: For counter = txtBox.LBound To txtBox.Ubound
  txtBox(counter).Text = "NeuerWert"
Next
Oder auch gemischt: For n = 0 To picBild.Ubound
  picBild(n).BackColor = vbRed
Next
Bei der Ereignisprozedur kann der Index wie folgt übergeben werden: Private Sub picBild_Click(Index As Integer)
  Befehle
End Sub
Ereignisse der Steuerelemente Wichtige Ereignisse der Steuerelemente (SE) sind:
das SE wird (doppelt) angeklickt Click, DblClick
das SE erhält den Fokus GotFocus
eine Taste wird gedrückt, aber noch nicht wieder losgelassen. Der Tastaturcode der gedrückten Taste wird übergeben KeyDown
eine Taste wird gedrückt und das SE besitzt den Fokus. Hier wird der Zeichencode der gedrückten Taste übergeben KeyPress
eine gedrückte Taste wird wieder losgelassen. Der Tastaturcode der gedrückten Taste wird übergeben KeyUp
das SE verliert den Fokus LostFocus
eine der Maustasten wird geklickt, wenn sich der Mauszeiger in der Innenfläche des SE befindet MouseDown
der Mauszeiger wird in der Innenfläche des SE bewegt MouseMove (Argumente: Button, Shift, X, Y)
die Maustaste wurde wieder losgelassen MouseUp
bevor das SE den Fokus verliert, kann (z. B. bei Textfeldern) eine Überprüfung des Inhalts durchgeführt werden Validate
Jedes Steuerelement kann auf eine bestimmte Anzahl an Ereignissen reagieren, jedoch nur das SE, das den Eingabefokus besitzt
Auf einem Formular wird der Eingabefokus auf die nächste Schaltfläche oder das nächste Textfeld mit der Tab-Taste dirigiert
Tastaturereignisse sind z. B.: KeyDown, KeyPress, KeyUp
"Zeichen"-Tasten sowie die Eingabetaste. Diese lösen Ereignisse in Zeichencode aus: Private Sub Form_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyEnter Then
Einige Tasten können kein KeyPress-Ereignis auslösen, z. B. die Umschalttaste. Hier können nur Ereignisse mit dem Tastaturcode ausgelöst werden: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Steuerelement Command Button ist für das Auslösen von Aktionen zuständig (Bestätigen, Abbruch, Ja, Nein, OK usw...). Ausgelöst wird mit einem Mausklick auf die Schaltfläche: Sub cmdStart_Click ()
kann beliebige Größen annehmen und Bilder enthalten, muss aber stets rechteckig sein. Wichtige Eigenschaften sind:
Caption: Legt den Text fest, der in der Schaltfläche erscheint cmdStart.Caption:="Titelstory"
Cancel: Ist diese Eigenschaft True, kann das Click-Ereignis auch durch Betätigen der Esc-Taste ausgelöst werden cmdStart.Cancel = True
Picture: Legt eine Bilddatei fest, die bei Style=1 in der Innenfläche angezeigt wird cmdStart.Picture = "Bild.gif"
Style: Legt fest, ob sich die Schaltfläche normal (Style=0) oder grafisch (Style=1) verhält cmdStart.Style = 1
Steuerelement Label kann nur kleine Textmengen ausgeben, also nicht entgegennehmen. Den Text gibt man nur in das Eigenschaftsfeld Caption ein. Beispiel: Beim Berühren mit der Maus wird der Text im Label unterstrichen: Private Sub Label1_MouseMove ()
Label1.Font.Underline = True
kann keinen Eingabefokus erhalten. Mit Label werden andere Steuerelemente nur beschriftet, z. B. als Überschrift für eine TextBox.
Wichtige Eigenschaften sind:
BorderStyle: das Feld erhält eine Umrandung Label1.BorderStyle = 1
Alignment: der Text kann links, rechts oder zentriert ausgerichtet werden Label2.Alignment = 0
Steuerelement TextBox kann Text ausgeben, sowie Text entgegennehmen. Den Text gibt man entweder in das Feld Eigenschaften Text, oder direkt in die auf dem Formular angeordnete Textbox ein. Löschbefehl: .Text = "" txtBeispiel.Text = "Hallo"
enthält keine Caption-Eigenschaft, also nicht mit dem Steuerelement Label verwechseln. Wichtige Eigenschaften sind:
MultiLine=True (in Verbindung mit der Eigenschaft ScrollBars 1, 2 oder 3): man kann beliebig viele Zeichen eingeben (bei Drücken der Return-Taste springt die Textmarke dann in die nächste Zeile) txtBeispiel.MultiLine = True
MaxLength=0 bedeutet eine maximale Textlänge von 65.000 Zeichen. Wird die Eigenschaft MultiLine=True hinzugeschaltet, können etwa 2 Milliarden Zeichen dargestellt werden txtBeispiel.MaxLenght = 10
PasswordChar legt ein Zeichen fest (z. B. *), das anstelle des eingegebenen Zeichens angezeigt wird. Auf diese Weise lassen sich eingegebene Worte "maskieren". Hierzu muss man die Eigenschaft MultiLine=False setzen txtBeispiel.PasswordChar = "#"
SelStart gibt die Position des selektierten Textes relativ zum Beginn des Textes an (das erste Zeichen besitzt die Position 0). Durch Setzen von SelStart kann der Beginn der Markierung verschoben werden With txtStartKapital
  .SelStart = 0
  .SelLength = Len(.Text)
  .SetFocus
End With
SelLength gibt die Länge des ausgewählten Textes in Zeichen an. Durch Setzen von SelLength in der Prozedur kann die Länge des selektierten Textes verändert werden
SelText stellt den selektierten Text dar
HideSelection legt fest, ob die Anzeige einer Markierung erhalten bleibt, wenn das Textfeld den Eingabefokus verliert (=False), oder aufgehoben wird (=True) txtBeispiel.HideSelection = True
Steuerelement PictureBox ist für die Anzeige von Text und Bildern zuständig. Löschbefehl = .Cls picBeispiel.Cls
Unterstützt werden die Grafikformate: bmp, gif, jpg, wmf, ico, cur, emf, dib
kann man während der Programm-Ausführung nicht in der Größe ändern (jedenfalls nicht ohne Tricks)
Steuerelement Image ist ausschließlich für die Anzeige von Bildern zuständig
kann man während der Programm-Ausführung in der Größe ändern
Unterstützt werden die Grafikformate: bmp, gif, jpg, wmf, ico, cur, emf, dib
Mit der Eigenschaft Stretch lassen sich Bitmaps stufenlos vergrößern oder verkleinern imgBild.Stretch = True
Steuerelement OptionButton Wird nur in einer Gruppe eingesetzt. In dieser Gruppe kann immer nur ein OptionButton aktiv sein
Mehrere unabhängige Gruppen müssen in Frames oder PictureBoxes gruppiert werden, die die Rolle eines Containers innerhalb des Formulars spielen. Zuerst muss aber der Container angelegt und dann die OptionButtons im Container erzeugt werden
Style = 1 (der OptionButton erscheint als "CommandButton"; ein Bild kann eingefügt werden) cmdButton.Style = 1
Value = True (das Options-Feld ist eingedrückt) Value = True
Steuerelement CheckBox Es können beliebig viele Kontrollkästchen unabhängig voneinander ein- oder ausgeschaltet werden
Style = 1 (die CheckBox erscheint als "CommandButton"; ein Bild kann eingefügt werden) Style = 1
Value = 1 (die CheckBox ist angekreuzt) Value = 1
Steuerelement Timer ist für zeitgesteuerte Programmausführung zuständig.
Enabled schaltet den Zeitgeber ein; z. B. beim Laden des Programms: Private Sub Form_Load()
Timer1.Enabled = True
Interval setzt einen Zeitintervall (1000 = eine Sekunde) Timer1.Interval = 1000
Auszuführende Timer-Befehle stehen erst in der Prozedur: Private Sub Timer1_Timer()
z. B. Bildweite in gewissen Zeitabständen vergrößern: Bild1.Width = Bild1.Width + 100
z. B. Farbe eines Formulars verändern: Me.BackColor = RGB(255, 0, 0)
z. B. Zeitanzeige der Titelleiste ständig aktualisieren: Me.Caption = "Es ist" & Time & "Uhr"
z. B. Bildfeld über ein Formular bewegen: Image1.Move Image1.Left + DeltaX,
Image1.Top + DeltaY
Steuerelement ListBox Löschbefehl = Clear. Gegenüber der ComboBox hat die ListBox folgende Vorteile: Bei Style = 1 werden die Einträge in Form von Kontrollkästchen angezeigt; Columns-Eigenschaft (Anzahl von Spalten); MultiSelect, Selected sowie SelCount lstBeispiel.Clear
List, ListCount, ListIndex gibt den Wert eines Listenfeldes zurück oder weist ihn zu. Der erste Wert hat immer den Index 0 lstKunden.List(7) = "Herr Meier"
Wert = lstArtikel.List(lstArtikel.ListIndex)
AddItem fügt einen Wert in das Listenfeld hinzu. Wird der Wert an eine bestimmte Position gesetzt, erhält er ein zweites Argument. RemoveItem löscht einen Wert (zum Löschen aller Werte Clear verwenden) lstMannschaft.AddItem "Hamburger SV"
lstMannschaft.AddItem "Köln", 18
MultiSelect = 1 (man kann einzelne Einträge einer Liste mit Mausklicks auswählen)
MultiSelect = 2 (man kann Einträge einer Liste mit gedrückter Maustaste fortlaufend auswählen)
For n = 0 To lst3.ListCount - 1
  If lst3.Selected(n) = True Then _
  Debug.Print lst3.List(n)
Next n
Durch Setzen der Selected-Eigenschaft auf False kann eine Auswahl wieder aufgehoben werden
Steuerelement ComboBox List, ListCount, ListIndex gibt den Wert einer ComboBox zurück oder weist ihn zu. Der erste Wert hat immer den Index 0
Textfeld wird mit Pfeilsymbol angezeigt, dass eine Liste öffnet = Standardeinstellung Style = 0
Text und geöffnete Liste werden angezeigt; die Liste muss über die Height-Eigenschaft sichtbar gemacht werden Style =1
Nur Listenauswahl möglich, jedoch keine Eingabe ins Textfeld Style = 2
Steuerelemente HScroll und VScroll Horizontale und vertikale Bildlaufleisten sind Elemente, mit deren Hilfe man einen Wert in einem bestimmten Bereich, den man über die Eigenschaften Min und Max festlegt, einstellen kann. Negative Werte sind erlaubt hscRegler.Min = -10
hscRegler.Max = 10
Value (Aktueller Wert der Bildlaufleiste) vscRegler.Value = 0
LargeChange und SmallChange: Legt den Betrag fest, um den sich die Value-Eigenschaft ändert, wenn man die Einstellfläche (Large) oder eines der beiden Pfeilsymbole (Small) anklickt. Negative Werte sind nicht erlaubt vscRegler.LargeChange = 2
Scroll: dieses Ereignis wird ausgelöst, wenn der Schieber mit der Maus verschoben wird
Errorhandling Fehlerbehandlung aktivieren On Error Goto err_handler
Fehlerbehandlung übergehen On Error Resume Next
Fehlerbehandlung deaktivieren On Error Goto 0
Der fehlerverursachende Befehl wird noch einmal ausgeführt Resume
Der fehlerverursachende Befehl wird nicht noch einmal ausgeführt Resume Next
Debug-Methode, um das Programm an einer bestimmten Stelle anzuhalten Stop
Error-Objekt, das einen Fehlertext liefert MsgBox Err.Description
Error-Objekt, das eine Fehlernummer liefert MsgBox Err.Number
Löst einen Fehler aus Err.Raise

© Visual Basic Grundlagen: Befehle und Funktionen wurde dokumentiert von Winfried Brumma (Pressenet), 2020. Bildnachweis: Arbeiten mit Laptop und Ipad, CC0 (Public Domain Lizenz).

Lesen Sie auch VBA Makro Programmierung mit Excel

Zur Startseite Rezensionen
Leseproben

Sie schreiben anspruchsvolle Romane und Erzählungen? Wir suchen neue Autorinnen und Autoren. Melden Sie sich!

Sponsoren und Investoren

Wenn Sie die Informationen auf diesen Seiten interessant fanden, freuen wir uns über einen Förderbeitrag. Empfehlen Sie uns auch gerne in Ihren Netzwerken. Herzlichen Dank!

Unsere Buchtipps und Leseproben
Zur Kurzübersicht der aktuellen Beiträge

Werden Sie Autor / Autorin bei Pressenet! Schreiben Sie in unserem Online Literaturmagazin Beiträge zum Thema Gesundheit. Info: Autor/in werden

Zu den Archiven (Auswahl): IT & Technik | 2021 I | Bücher Rezensionen | 2020 I | 2019 I | Ratgeber II | 2018 I | Sagen I | 2014 II | Rezensionen I | 2012 V | 2010 IV

Sitemap Impressum Datenschutz RSS Feed

Hinweis: Diese Webseite kann Werbeanzeigen und Werbeeinblendungen oder eingebundene Links von Diensten und Inhalten Dritter enthalten. Beachten Sie dazu unsere Datenschutzerklärung.
Top