Anzeige
Archiv - Navigation
1808to1812
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
Inhaltsverzeichnis

Mehrere Bedingungen für MsgBox

Mehrere Bedingungen für MsgBox
27.01.2021 17:32:19
Ilker
Hallo zusammen,
ein Super Forum mit vielen Hilfen. Kompliment an alle.
Ich habe ein Problem als Anfänger, den ich nicht lösen konnte und hoffe auf Hilfe hier.
Ich habe eine Tabelle, wo nach einer Bedingung bestimmte Zeilen eingeblendet werden. Hier soll nur bei den eingeblendeten Zeilen geprüft werden, ob in Spalte D bestimmte Zahlen drin stehen (1, 2, 3, 4, 5, 6, 7, 8, 10, 12) und ob in die Spalte E etwas eingegeben wurde und wie gesagt nur bei eingeblendeten Zeilen. Wenn hier in Spalte E der Zeile nichts steht, soll ein Messagebox aufpoppen.
Wenn ich nur prüfe, ob eingeblendet und die Spalte leer, dann klappt das aber leider nicht, wenn ich zusätzlich prüfe, ob eine der Zahlen drin steht.
Wie kann ich hier denn vorgehen?
  • strval = "1" Or "2" Or "3" Or "4" Or "5" Or "6" Or "7" Or "8" Or "10" Or "12"
    For a = 7 To 101
    If Sheets(strRMSheet).Range("E" & a).Rows.Hidden = False And Sheets(strRMSheet).Range("E" & a).Value = "" And Sheets(strRMSheet).Range("D" & a).Value = strval Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    ElseIf Sheets(strRMSheet).Range("G" & a).Rows.Hidden = False And Sheets(strRMSheet).Range("G" & a).Value = "" And Sheets(strRMSheet).Range("D" & a).Value = strval Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    ElseIf Sheets(strRMSheet).Range("H" & a).Rows.Hidden = False And Sheets(strRMSheet).Range("H" & a).Value = "" And Sheets(strRMSheet).Range("D" & a).Value = strval Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    ElseIf Sheets(strRMSheet).Range("F" & a).Rows.Hidden = False And Sheets(strRMSheet).Range("F" & a).Value = "" Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    End If
    Next a

  • 9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Mehrere Bedingungen für MsgBox
    27.01.2021 19:28:34
    Matthias
    Moin!
    Ich würde die Zahlen verketten und dann mit instr prüfen. Dazu könnte man m.E. die Prüfungen ausklammern, die überall gleich sind. Sieht dann so aus
    strval = "#1#2#3#4#5#6#7#8#10#12#"
    For a = 7 To 101
    If Sheets(strRMSheet).Rows(a).Hidden = False Then
    If InStr(1, strval, "#" & Sheets(strRMSheet).Range("D" & a).Value & "#") > 1 Then
    If Sheets(strRMSheet).Range("E" & a).Value = "" Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    ElseIf Sheets(strRMSheet).Range("G" & a).Value = "" Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    ElseIf Sheets(strRMSheet).Range("H" & a).Value = "" Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    End If
    End If
    ElseIf Sheets(strRMSheet).Range("F" & a).Value = "" Then
    MsgBox "Please complete the Risks & Measures sheet"
    Exit For
    End If
    Next a
    
    VG
    Anzeige
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 07:23:38
    Ilker
    Vielen Dank für die Mühe aber leider hat das nicht funktioniert. Ich bekomme die Textmeldung auch wenn alles ausgefüllt ist und auch die verkettete Zahlen nicht eingetragen sind.
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 07:24:37
    Ilker
    Vielen Dank für die Mühe aber leider hat das nicht funktioniert. Ich bekomme die Textmeldung auch wenn alles ausgefüllt ist und auch die verkettete Zahlen nicht eingetragen sind.
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 08:41:36
    ralf_b
    Moin,
    ich hab auch eine Idee, aber ungetestet
    With Sheets(strRMSheet)
    For a = 7 To 101
    If .Rows(a).Hidden = False Then
    Select Case .Range("D" & a).Value
    Case 1 To 8, 10, 12
    If WorksheetFunction.CountBlank(.Range("E" & a & ":H" & a)) > 0 Then _
    MsgBox "Please complete the Risks & Measures sheet": Exit For
    End Select
    End If
    Next
    End With
    
    gruß
    rb
    Anzeige
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 12:12:04
    Ilker
    Moin,
    vielen Dank. Damit hat es funktioniert. Top.
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 12:35:17
    Ilker
    Eine Sache habe ich auch noch. In einem anderen Sheet werden die Risiken in eine Matrix eingetragen. Bestimmte Felder haben gelbes Risiko und bestimmte rotes Risiko. Ich will, dass auch gewarnt wird, wenn eins dieser Felder ein Risiko enthält. Nach meiner Code warnt es mich aber immer. Was kann hier falsch sein?
    If Sheets("Risk Profile AFTER").Range("C5").Value > 1 Then
    MsgBox "Warning:" & vbNewLine & "Special attention & Monitoring required." & vbNewLine & "Evtl  _
    short time measure as well", vbInformation
    ElseIf Sheets("Risk Profile AFTER").Range("D7").Value > 1 Then
    MsgBox "Warning:" & vbNewLine & "Special attention & Monitoring required." & vbNewLine & "Evtl  _
    short time measure as well", vbInformation
    ElseIf Sheets("Risk Profile AFTER").Range("E9").Value > 1 Then
    MsgBox "Warning:" & vbNewLine & "Special attention & Monitoring required." & vbNewLine & "Evtl  _
    short time measure as well", vbInformation
    ElseIf Sheets("Risk Profile AFTER").Range("F11").Value > 1 Then
    MsgBox "Warning:" & vbNewLine & "Special attention & Monitoring required." & vbNewLine & "Evtl  _
    short time measure as well", vbInformation
    ElseIf Sheets("Risk Profile AFTER").Range("D5").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    ElseIf Sheets("Risk Profile AFTER").Range("E5").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    ElseIf Sheets("Risk Profile AFTER").Range("F5").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    ElseIf Sheets("Risk Profile AFTER").Range("E7").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    ElseIf Sheets("Risk Profile AFTER").Range("F7").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    ElseIf Sheets("Risk Profile AFTER").Range("F9").Value > 1 Then
    MsgBox "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & "Immediate  _
    short term measure must be taken", vbCritical
    End If
    

    Anzeige
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 14:48:01
    ralf_b
    was kann da falsch sein? wie meist ,die Logik.
    Wenn die Logik aber stimmt, dann kann's auch an den Werten liegen. eiene leere Zelle ist nicht immer wirklich leer.
    Dim str As String, str2 As String
    With Sheets("Risk Profile AFTER")
    str = "Not Acceptable:" & vbNewLine & "Immediate action required." & vbNewLine & " _
    Immediateshort term measure must be taken"
    str2 = "Warning:" & vbNewLine & "Special attention & Monitoring required." & vbNewLine & " _
    Evtlshort time measure as well"
    If .Range("C5").Value > 1 Or _
    .Range("D7").Value > 1 Or _
    .Range("E9").Value > 1 Or _
    .Range("F11").Value > 1 Then MsgBox str2, vbInformation
    If .Range("D5").Value > 1 Or _
    .Range("E5").Value > 1 Or _
    .Range("F5").Value > 1 Or _
    .Range("E7").Value > 1 Or _
    .Range("F7").Value > 1 Or _
    .Range("F9").Value > 1 Then MsgBox str, vbInformation
    End With
    
    gruß
    rb
    Anzeige
    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 12:45:35
    Ilker
    
    Ach. In den Zellen ist auch eine Wenn Funktion eingebaut. Deshalb erkennt der alle als >0. Wir kann ich das in diesem Fall denn machen?
    

    AW: Mehrere Bedingungen für MsgBox
    28.01.2021 12:51:46
    Ilker
    Sorry, das war mein Denkfehler. Ich lese die Daten aus einer anderen Spalte und das funktioniert.
    Danke an alle.

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige