Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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
If mit drei Bedingungen
Dietmar
Hallo zusammen,
ich möchte 3 Bedingungen per VBA überprüfen, wobei eine Prüfung 2 Werte gleichheitig kontrolliert. Leider bekomme ich es nicht hin.
Nachfolgend ein Beispeil mit Msgboxen; statt der msgboxen laufen ansonsten Makroroutinen ab.
Was mache ich falsch?
Sub Prüfung()
If Range("A1").Value = "FALSCH" Then
MsgBox "Ja, Alternative 1 OK"
Exit Sub
End If
If Range("A1").Value = "WAHR" And Range("A2").Value  "17" Then
MsgBox "Nein, so nicht"
Exit Sub
End If
If Range("A1").Value = "WAHR" And Range("A2").Value = "17" Then
MsgBox "Ja, Alternative 2 OK"
End If
End Sub

Vielen Dank!
und viele Grüße
Dietmar aus Aachen

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: If mit drei Bedingungen
12.04.2010 22:14:23
Ramses
Hallo
Probier mal
Sub Prüfung()
If Range("A1").Value = False Then
MsgBox "Ja, Alternative 1 OK"
Exit Sub
End If
If Range("A1").Value = True And Range("A2").Value  "17" Then
MsgBox "Nein, so nicht"
Exit Sub
End If
If Range("A1").Value = True And Range("A2").Value = "17" Then
MsgBox "Ja, Alternative 2 OK"
End If
End Sub
Gruss Rainer
Ja! funktioniert! herzlichen Dank! oT
12.04.2010 22:34:08
Dietmar
oT = ohne Text
AW: If mit drei Bedingungen
12.04.2010 22:17:37
Andre´
Hallo Dietmar,
sollte so gehen
Sub Prüfung()
If Range("A1").Value = False Then
MsgBox "Ja, Alternative 1 OK"
Exit Sub
End If
If Range("A1").Value = True And Range("A2").Value  "17" Then
MsgBox "Nein, so nicht"
Exit Sub
End If
If Range("A1").Value = True And Range("A2").Value = "17" Then
MsgBox "Ja, Alternative 2 OK"
End If
End Sub
MFG Andre
Anzeige
VBA spricht englisch - TRUE / FALSE
12.04.2010 22:21:13
Beate
Hallo Dietmar,
wenn die 17 ein echter Wert ist, dann kannst du die Anführungszeichen um diese Zahl im Code auch weglassen.
Gruß,
Beate
Lieben Dank! wieder was gelernt! oT
12.04.2010 22:35:39
Dietmar
oT = ohne Text
andere Formulierung
12.04.2010 23:00:34
Erich
Hi zusammen,
den Code würde ich so schreiben:

Sub Prüfung()
If Range("A1").Value Then
If Range("A2").Value = 17 Then
MsgBox "Ja, Alternative 2 OK"
Else
MsgBox "Nein, so nicht"
End If
Else
MsgBox "Ja, Alternative 1 OK"
End If
End Sub
"If Range("A1").Value = True" ist doch identisch mit "If Range("A1").Value" - in A1 steht ein Wahrheitswert.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
kürzer...
12.04.2010 23:42:50
Steffen
Hallo Dietmar
Sub test()
Dim myText As String
myText = IIf(IIf(Cells(1, 1) = False, True, False), "Ja, Alternative 1 OK", _
IIf(Cells(1, 2) = 17, "Ja, Alternative 2 OK", "Nein, so nicht"))
MsgBox myText
End Sub

Grüße
Steffen
noch kürzer...
12.04.2010 23:53:57
Erich
Hi,
dann doch gleich so:

Sub test2()
Dim myText As String
myText = IIf(Cells(1, 1), IIf(Cells(1, 2) = 17, _
"Ja, Alternative 2 OK", "Nein, so nicht"), "Ja, Alternative 1 OK")
MsgBox myText
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
hallo Erich noch..noch kürzer..
13.04.2010 00:14:29
Steffen
Sub test()
MsgBox IIf(Cells(1, 1), IIf(Cells(1, 2) = 17, _
"Ja, Alternative 2 OK", "Nein, so nicht"), "Ja, Alternative 1 OK")
End Sub

:-)))
angenehme Nacht noch wünscht
Steffen
Anzeige
Faszination des Könnens!
13.04.2010 09:35:26
Dietmar
Hallo zusammen,
wirklich beeindruckend, welche tollen Möglichkeiten es da gibt.
Habe mich für die Variante von Steffen G. entschieden, weil ich da noch einigermaßen durchblicke (If ... else ...).
Herzlichen Dank an Euch alle!
Dietmar aus Aachen
oder so...
13.04.2010 00:06:51
Erich
Hi,
noch ne Variante:

Sub test3()
Dim myText As String
myText = Split("Ja, Alternative 1 OK#Nein, so nicht#Ja, Alternative 2 OK", "#") _
(-Cells(1, 1) * (1 - (Cells(1, 2) = 17)))
MsgBox myText
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
bzw. so...
13.04.2010 00:10:34
Erich
Hi,
als Einzeiler (in 2 Zeilen):

Sub test4()
MsgBox Split("Ja, Alternative 1 OK9Nein, so nicht9Ja, Alternative 2 OK", 9) _
(-Cells(1, 1) * (1 - (Cells(1, 2) = 17)))
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige