Verschachtelte IF-Schleife HILFE!

thefang

Grünschnabel
Hallo Zusammen,

fuer meinen Arbeitgeber muss ich eine Excel-Berechnung aufstellen.
Die Berechnung an sich war kein Problem allerdings geht es jetzt an die Auswertung, welche ich meiner Meinung nach nur mit einer mehrfachen IF-Abfrage loesen kann.
Bloederweise kommt hier noch hinzu, dass das mein allererster VBA-Versuch ueberhaupt ist. Leider habe ich auch nicht viel Zeit, sodass ich nicht erst ewig im Internet nach Loesungen suchen kann oder geschweige denn mir selbst etwas aneignen kann.
Vielleicht kann schon jemand etwas aus dem beigefuegten Syntax lesen, weshalb ich einfach nicht die angeforderten Ausgaben geliefert bekomme. Einen Fehler bringt mir Excel nicht! Ich weiss leider nicht weiter! Bitte um Rat!

Syntax:

Sub hrzntl_pp()

If Range("L10").Value = "0.5" And Range("B22").Value <= "1.8" Then
Range("N12").Value = "90"

If Range("L10").Value = "0.5" And Range("B22").Value <= "2.7" Then
Range("N12").Value = "100"

If Range("L10").Value = "1.0" And Range("B22").Value <= "1.3" Then
Range("N12").Value = "80"

If Range("L10").Value = "1.0" And Range("B22").Value <= "3.9" Then
Range("N12").Value = "125"

If Range("L10").Value = "1.5" And Range("B22").Value <= "1.6" Then
Range("N12").Value = "80"

If Range("L10").Value = "1.5" And Range("B22").Value <= "4.7" Then
Range("N12").Value = "150"

Else
Range("N12").Value = "Fehler"

End If
End If
End If
End If
End If
End If

End Sub

Wie ihr sicherlich gelesen habt muss ich bei der Abfrage auch auf mehrere Parameter achten.

Vielen Dank fuer eure Hilfe.
Michi
 
Hi,

versuchs mal so:
Code:
Sub hrzntl_pp()

If Range("L10").Value = "0.5" Then
    If Range("b22").Value <= 1.8 Then
        Range("n12").Value = "90"
    ElseIf Range("b22").Value <= 2.7 Then
        Range("n12").Value = "100"
    End If
ElseIf Range("L10").Value = "1.0" Then
    If Range("b22").Value <= 1.3 Then
        Range("n12").Value = "80"
    ElseIf Range("b22").Value <= 3.9 Then
        Range("n12").Value = "125"
    End If
ElseIf Range("L10").Value = "1.5" Then
    If Range("b22").Value <= 1.6 Then
        Range("n12").Value = "80"
    ElseIf Range("b22").Value <= 4.7 Then
        Range("n12").Value = "150"
    End If
End If

End Sub
Ciao
Quaese
 
Cool, danke soweit!
Jetzt noch was Anderes, wie kann ich es anstellen, dass diese Abfrage tatsaechlich immer in Schleife laeuft (ohne dass der Rechner damit ueberfordert ist) und alle Aenderungen die ich in der Tabelle vornehm in Echtzeit beruecksichtigt werden. Also wenn ich relevante Parameter aendere, dass dann die Ergebnisse neu ausgegeben werden?
Vielen Dank nochmal!
 
Hi,

versuch mal, im change-Ereignis des Sheets zu reagieren - z.B.:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Modul1.hrzntl_pp
End Sub
Ciao
Quaese
 
Aha ... danke, aber ... ich versteh kein Wort!
Koenntest du mir sagen ob ich das Beispiel vor meinen anderen Code schreiben soll, oder brauche ich dafuer ein neues Macro? Und was meinst du mit Change-Ereigniss?
Ojeh ... ich hab wirklich keinen Schimmer von VB ... sorry!
 
Hi,

wenn du dich im VBA-Editor befindest, doppelklickst du im Projektfenster (linke Seite) die Tabelle, in der die Berechnungen ausgeführt werden sollen. Im aktivierten Fenster wählst du aus dem Dropdown-Feld oben links den Eintrag "Worksheet". Jetzt solltest du im Dropdown oben rechts das change-Ereignis auswählen können. In dieser Routine rufst du nun die Funktion auf.

Ciao
Quaese
 
Oha, wahnsinn!
Also erstmal danke fuer deine riesen Geduld Quaese!!
Ich hab das jetzt soweit hinbekommen.
Ich habe jetzt folgende Codefenster mit folgendem Inhalt:
"Sheet1":
Private Sub Worksheet_Change(ByVal Target As Range)
Module1.vtcl_pp
Module2.hrzntl_pp
End Sub

"Module1":
Sub vtcl_pp()
If ....
ElseIf ....
ElseIf ....
ElseIf ....
....
End If
End Sub

"Module2":
Sub hrzntl_pp()
If ....
If ....
ElseIf ....
...
End If
Else If ....
....
End If
End Sub

So. Die einzelnen Funktionen funktionieren ... haha! Soll heissen, wenn ich eine der beiden Module "Komentiere", dann laeuft das Programm. Versuche ich aber beide zu starten haengt sich Excel auf! Auf die Gefahr hin dass ich nerve, aber: Warum?
Nochmals danke danke danke danke!
 
Zurück