Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: #If...Then...#Else-Anweisung

Kompiliert ausgewählte Blöcke von Visual Basic-Code, wenn bestimmte Bedingungen erfüllt sind.

Syntax

#If Ausdruck Then

Anweisungen

[#ElseIf Ausdruck-n Then

[elseifAnweisungen]]

[#Else

[elseAnweisungen]]

#End If

Die Syntax der #If...Then...#Else-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Ausdruck Erforderlich. Ein beliebiger Ausdruck, der ausschließlich eine oder mehrere Konstanten für die bedingte Kompilierung, Literalzeichen und Operatoren enthält und True oder False ergibt.
Anweisungen Erforderlich. Visual Basic-Programmzeilen oder Compiler-Anweisungen, die ausgewertet werden, wenn der zugehörige Ausdruck True ergibt.
Ausdruck-n Optional. Ein beliebiger Ausdruck, der ausschließlich aus einer oder mehreren Konstanten für die bedingte Kompilierung, Literalzeichen oder Operatoren besteht und der True oder False ergibt.
elseifAnweisungen Optional. Eine oder mehrere Programmzeilen oder Compiler-Anweisungen, die ausgewertet werden, wenn Ausdruck-n True ergibt.
elseAnweisungen Optional. Eine oder mehrere Programmzeilen oder Compiler-Anweisungen, die ausgewertet werden, wenn keiner der vorher aufgetretenen Ausdruck- oder Ausdruck-n-Abschnitte True ergibt.

Bemerkungen

Das Verhalten der #If...Then...#Else-Anweisung entspricht dem der If...Then...Else-Anweisung, allerdings gibt es keine einzeilige Variante der Anweisungen #If, #Else, #ElseIf und #End If, d.h. außer den Anweisungen kann kein anderer Code in derselben Zeile erscheinen. Bedingte Kompilierung wird normalerweise zum Kompilieren desselben Programms für verschiedene Plattformen verwendet. Sie kann auch dazu dienen, zu verhindern, daß Code zu Testzwecken in einer ausführbaren Datei erscheint. Während der bedingten Kompilierung ausgeschlossener Code wird beim Erstellen der ausführbaren Datei nicht in die Datei aufgenommen und hat daher keinerlei Auswirkung auf die Größe oder das Leistungsverhalten.

Unabhängig vom Ergebnis der einzelnen Auswertungen werden alle Ausdrücke ausgewertet. Daher müssen alle Konstanten, die in Ausdrücken verwendet werden, definiert sein: alle nichtdefinierten Konstanten werden als Empty ausgewertet.

Anmerkung Die Option Compare-Anweisung hat keine Auswirkungen auf Ausdrücke in #If- und #ElseIf-Anweisungen. Ausdrücke in Anweisungen für die bedingte Kompilierung werden immer mit der Einstellung Option Compare Text ausgewertet.