Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If .... then End If

Forumthread: If .... then End If

If .... then End If
09.11.2005 12:00:09
HARRY
Hallo zusammen,
ich habe eine Datei mit vielen If-Abfragen die im

Private Sub Worksheet_Change(ByVal Target As Range)
automatisch ausgeführt werden.
Bei bestimmten If... elseif - Abfragen möchte ich, dass die If-Abfrage beendet wird, wenn die 1. Bedingung zutrifft.
Mit einer Sprungmarke zu end if habe ich es hinbekommen (siehe Beispiel).
Hierbei muss ich aber bei jeder If-Abfrage wieder neue Sprungmarken definieren (siehe Beispiel).
Sub Makro1()
If [A1] = "" Then
GoTo Sprung1
ElseIf [A1] = 1 Then
[B1] = 1
ElseIf [A1] = 2 Then
[B1] = 2
Sprung1:
End If
End Sub

Geht das Beenden der If-Abfrage auch einfacher ?
Vielen Dank im voraus.
Gruß, HARRY
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If .... then End If
09.11.2005 12:02:00
Beni
Hallo HARRY,
Exit Sub
Gruss Beni
AW: If .... then End If
09.11.2005 12:10:48
IngGi
Hallo Harry,
schreib zwischen der If-Zeile und dem nächsten ElseIf einfach gar nichts, dann macht er auch genau das, nämlich gar nichts und macht nach dem End If-Befehl weiter.
Der Tipp von Beni mit End Sub bewirkt, dass die Prozedur sofort beendet wird. Befehle nach dem End If werden also nicht mehr ausgeführt.
Gruß Ingolf
Anzeige
AW: If .... then End If
09.11.2005 12:49:51
Heiko
Hallo Harry,
schau dir mal die "Select Case" Anweisung an, die ist genau für solche Fälle gedacht.
Gruß Heiko
AW: If .... then End If
09.11.2005 13:05:53
Harald
Hallo Ingolf,
vielen Dank für Deinen Lösungsansatz. Damit ist mir aber leider nicht geholfen, weil sonst die zutreffenden elseif-Abfragen ausgeführt werden ! .... sollen sie aber nicht, wenn die erste Bedingung zutrifft.
Danke auch an Benni, aber mit END SUB ist mir nicht geholfen, weil dann nachfolgende If-Abfragen auch nicht ausgeführt werden.
Vielen Dank auch an Heiko, aber was ist "Select Case" ? Habe NULL Ahnung.
Kann Du dass bitte für einen Laien etwas genauer beschreiben ?
Vielen Dank.
Gruß, HARRY
Anzeige
AW: If .... then End If
09.11.2005 13:32:28
IngGi
Hallo Harry,
wenn A1 leer ist, treffen die beiden ElseIf-Bedingungen in deinem Beispiel doch gar nicht zu. Daher wird auch nichts ausgeführt. A1 kann nicht gleichzeitig leer und 1 oder 2 sein. Ansonsten, bei anderen Bedingungen, müsstest du mehrere If...End If-Anweisungn inneinander verschachteln.

If A1 = 1 Then
Else
If B1 = 1 Then
ElseIf B1 = 2 Then
End If
End If

Wenn A1=1 ist, macht er gar nichts, ansonsten prüft er, ob B1=1 oder B1=2 ist und führt dann die entsprechenden Programmzeilen aus. Genau dasselbe ließe sich übrigens auch so schreiben:

If Not A1 = 1 Then
If B1 = 1 Then
ElseIf B1 = 2 Then
End If
End If
Gruß Ingolf
Anzeige
AW: If .... then End If
09.11.2005 14:13:10
HARRY
Hallo Ingolf,
... mein Fehler ! War ein blödes Beispiel.
Nicht alle meine nachfolgenden ELSEIF-Abfragen beziehen sich auf Zelle A1.
Die nachfolgenden ELSEIF-Abfragen sollen aber nur ausgeführt werden, wenn die 1. Bedingung zutrifft.
Mit Deinem Lösungsvorschlag kann ich aber jetzt arbeiten.
Vielen Dank.
Gruß, HARRY
Anzeige
AW: If .... then End If
09.11.2005 14:07:45
HARRY
Weiß jemand eine andere Lösung oder kann "Select Case" mal einfach beschreiben ?
Gruß, HARRY
AW: If .... then End If
09.11.2005 14:20:38
Heiko
Hallo Harry,
hier mal ein Beispiel analog zu deinem If ElseIf.

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case [A1]
Case ""
Case 1
[B1] = 1
Case 2
[B1] = 2
Case Else
' MsgBox "A1 ist weder nichts, noch 1 noch 2 !", vbInformation
End Select
End Sub

Das könntest du jetzt beliebig fortsetzen.
Case 12
Case 123
Case "Hallo"
usw...
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige