Ankreuzen i.O./n.i.O. gemäß UTG und OTG

Bild

Betrifft: Ankreuzen i.O./n.i.O. gemäß UTG und OTG
von: Conelius
Geschrieben am: 07.08.2015 08:24:31

Hallo zusammen,
leider verstehe ich nicht warum mein Makro an zwei Stellen in Meiner Tabelle das Kreuz bei i.O. bzw. n.i.O. anhand des Vergleichs der Ist-Werte mit der oberen und unteren Toleranz nicht richtig setzt - oder ich stehe etwas auf dem Schlauch.
Ich habe eine Beispielmappe angefügt. Die Kreuze werden in Zeile 13 und Zeile 20 falsch gesetzt. Habt ihr eine Idee/Lösung?
Vielen Dank im Voraus!
https://www.herber.de/bbs/user/99383.xlsm
Beste Grüße
Cornelius

Bild

Betrifft: AW: Ankreuzen i.O./n.i.O. gemäß UTG und OTG
von: Daniel
Geschrieben am: 07.08.2015 08:47:00
HI
deine IF-Bediung ist falsch aufgebaut.
wenn du prüfen willst, ob alle drei Werte innerhalb der Grenzwerte OTG und UTG liegen, dann muss die Prüfung nach diesem Muster erfolgen:

IF UTG < Wert1 AND UTG < Wert2 AND UTG < Wert2 AND OTG > Wert1 AND OTG > WERT2 AND OTG > Wert3  _
Then
    I.O
Else
    n.I.O
End If
in deinem Fall kannst du das aber etwas vereinfachen:
If Cells(i, "D").Value < WorksheetFunction.Min(Range(Cells(i, "F"), Cells(i, "H"))) And _
          Cells(i, "E").Value > WorksheetFunction.Max(Range(Cells(i, "F"), Cells(i, "H"))) Then
Gruß Daniel

Bild

Betrifft: AW: Ankreuzen i.O./n.i.O. gemäß UTG und OTG
von: Conelius
Geschrieben am: 07.08.2015 08:53:03
Perfekt vielen Dank Daniel!
Manchmal verirrt man sich ganz schön in einer bestimmten Lösung.

Bild

Betrifft: AW: Ankreuzen i.O./n.i.O. gemäß UTG und OTG
von: Daniel
Geschrieben am: 07.08.2015 09:11:22
HI
wobei sich die Frage stellt, warum du hier ein makro schreibst.
das kannst du doch auch einfach mit Formeln erledigen.
in I11 kommt: =Wenn(Und(Max(F11:H11) < E11;Min(F11:H11) > D11);"X";"")
in J11 kommt: =Wenn(Und(Max(F11:H11) < E11;Min(F11:H11) > D11);"";"X")
oder einfacher in J11: =Wenn(I11="X";"";"X")
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA MsgBox aufrufen, automatisch schließen"