öffentlich
Redaktion Druckversion

VBA für Einsteiger - MS Excel 2003 (3)

Einige Steueranweisungen

Die Entscheidung If - Then

Diese Anweisung ist sehr wichtig. Im folgenden Beispiel wird der Eingabetest für das Excelprogrammierbeispiel vorgestellt.

Die Eingabeprüfung des numerischen Intervalls 1 bis 20 erfolgt, indem alle Zahlen <1 oder >20 abgelehnt werden. Desgleichen werden auch alle Texteingaben abgewiesen.

Beispiel:

Diese Variablen zu Beginn des Moduls werden benötigt

Dim Eingabewert As Variant 'Lässt auch Texteingabe zu

Dim Ganz As Integer

Dim I As Byte

Sub einmaleins()

Eingabewert = InputBox("Bitte eine ganze Zahl zwischen 1 und 20", "Eingabe")

If Eingabewert < 1 Or Eingabewert > 20 Then

MsgBox "eingegebene Zahl " & Eingabewert & " ist falsch!"

Exit Sub

End If

Das Beispiel berücksichtigt nur Zahlen von 1 bis 20. Gebrochene Zahlen werden aufgrund der Zuweisung zu einer Integer-Variablen gerundet.

Der If-Block beginnt mit der Testanweisung If. Wenn der Ausdruck Eingabewert < 1 Or Eingabewert > 20 wahr ist, werden die Anweisungen nach Then bis End If ausgeführt; hat der Ausdruck den Wert falsch, werden die auf Then folgenden Anweisungen nicht beachtet. End If beendet den gesamten Block.

Die Anweisung Exit Sub beendet die gesamte Prozedur und sie wird ohne weitere Reaktion verlassen.

Soweit zum Beispiel. Zur If...Then...Else-Anweisung muss noch einiges ergänzt werden:
Dieser Entscheidungsblock führt all diejenigen Anweisungen aus, die der Then-Anweisung unmittelbar folgen, wenn die hinter If angegebene Bedingung erfüllt ist (Man sagt auch, wenn sie den Booleschen Wert TRUE hat).

If Bedingung Then <Anweisungen>

<ElseIf bedingung Then>

<Anweisungen>

<weitere ElseIf-Zweige können folgen>

<Else>

<Anweisungen>

End If

Wenn die Bedingung den Wert False liefert, wird in den Else-Zweig verzweigt, sofern er vorhanden ist, wobei mit einem Else-If-Zweig sich weitere Bedingungen anschließen können

Diese Notation wird verwendet, wenn die erste Bedingung False lieferte und weitere Bedingungen getestet werden sollen. Es können sich beliebig viele ElseIf-Zweige anschließen. Der If... Then... Else- Block wird entweder verlassen, wenn eine Bedingung True lieferte oder der (optionale) letzte Else-Zweig abgearbeitet wurde.

Das folgende Beispiel zeigt die die Blockstruktur der If...Then...Else-Anweisung.

Beispiel:

Sub IF_Anweisung()

Dim Zahl As Long

Zahl = InputBox("Bitte eine ganze Zahl eingeben")

If Zahl < 0 Then

MsgBox "Ein negative Zahl wurde eingegeben."

ElseIf Zahl < 1 Then

MsgBox "Eine 0 wurde eingegeben."

ElseIf Zahl < 10 Then

MsgBox "Eine einstellige Zahl wurde eingegeben."

ElseIf Zahl < 100 Then

MsgBox "Eine zweistellige Zahl wurde eingegeben."

Else

MsgBox "Mindestens eine dreistellige Zahl wurde eingegeben."

End If

End Sub

Obiges Beispiel finden Sie in Lösung Variable und Steuerelemente.xls im Modul Zur_If_Anweisung.

Für das vorgestellt Beispiel EinmalEins sehen Sie sich noch einige weitere Eigenschaften und Methoden an.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren