Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige