Clever-Excel-Forum

Normale Version: Syntaxfehler oder falsche Ausgabe bei IF Anweisung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

kann mir jemand sagen was in diesem Code falsch ist?

Ich bekomme immer die Meldung "Syntaxfehler" und wenn ich nach dem Else noch ein If hinsetze bekomme ich immer nur
"Ja" ausgegeben. Obwohl die Spalte nur 1439, 99 geht - also müsste ja bei 5000 eigentlich ein Nein stehen.

Dim i As Integer
For i = 5 To 30


If Worksheets("Tabelle1").Cells(i, 5).Value <= Worksheets("Tabelle1").Range("M4") Then
Range("M5") = "ja"

Else

Worksheets("Tabelle1").Range("M4") > Worksheets("Tabelle1").Cells(i, 5).Value Then
Worksheets("Tabelle1").Range("M5") = "Nein"
End If

Next i



End Sub
Hallo,

Code:
For i = 5 To 30
  If Worksheets("Tabelle1").Cells(i, 5).Value <= Worksheets("Tabelle1").Range("M4") Then
    Worksheets("Tabelle1").Range("M5") = "ja"
  Else
    Worksheets("Tabelle1").Range("M5") = "Nein"
  End If
Next i

Gruß Uwe
Leider nicht - ursprünglich hatte ich das auch so,

aber er gibt nur Ja aus. Auch dann wenn die Zahl in M4 größer ist als die Zahlen in i.

Auch bei deinem- ich weiß nur nicht warum?
Hallo,

so ist die Anweisung in Deinem Code.

Gruß Uwe
Hi,
grätsch mal rein:

Was mir auffält, Du arbeitest die Zeilen 5 bis 30 ab und lässt das Ergebnis, also Ja oder Nein immer in M5 ausgeben. D.h., wenn in der letzten abgearbeiteten Zeile ein Wert kleiner als in M4 steht, ist das Ergebnis "Ja", auch wenn zwischen drinnen mal Werte stehen, die größer als in M4 sind.
Ist das so beabsichtigt?

Falls der Vergleich nicht hinhaut, lohnt es such auch mal zu überprüfen, ob in den Zellen wirklich Zahlen stehen.

Gruß Regina
Hallo Regina,

nein das is so nicht beachsichtigt- Eigentlich sollten die Zellen in Spalte F von 5 - 30 geprüft werden, mir ist aber aufgefallen,
dass so nicht passiert wie gedacht.

Wenn in Zelle 1 1200 steht und in Zelle 2 1250 dann müsste bei einer abfrage von 1220 eigentlich auch ja rauskommen, tut es aber nicht.

Die Spalte geht bis 1439,99 bei 5000 müsste also nein stehen, tut es aber auch nicht.

Keine Ahnung warum, muss ich anders machen.
... lade doch mal eine Beispielmappe hoch, damit man den Fehler nachvollziehen kann.

Gruß Regina
hier - bitte schön - Button 3
Hallo,

du lässt die Daten mit einer Schleife prüfen, die über 25 Zeilen läuft. Das Ergebnis hat eine feste Zelle, also wird da immer der Zustand aus Zeile 30 eingetragen. So wäre das aus meiner Sicht richtiger:

Tabelle1

DEFGHIJKLM
401.179,990000001.250,00
51.180,001.189,990,9900000ja
61.190,001.199,997,9900000ja
71.200,001.209,9914,9900000ja
81.210,001.219,9921,9900000ja
91.220,001.229,9928,9900000ja
101.230,001.239,9935,9900000ja
111.240,001.249,9942,9900000ja
121.250,001.259,9949,9900000Nein
131.260,001.269,9956,9900000Nein
141.270,001.279,9963,9900000Nein
151.280,001.289,9970,9900000Nein
161.290,001.299,9977,9900000Nein
171.300,001.309,9984,9900000Nein
181.310,001.319,9991,9900000Nein
191.320,001.329,9998,9900000Nein
201.330,001.339,99105,9900000Nein
211.340,001.349,99112,9900000Nein
221.350,001.359,99119,9900000Nein
231.360,001.369,99126,9900000Nein
241.370,001.379,99133,9900000Nein
251.380,001.389,99140,9900000Nein
261.390,001.399,99147,9900000Nein
271.400,001.409,99154,9900000Nein
281.410,001.419,99161,9900000Nein
291.420,001.429,99168,9900000Nein
301.430,001.439,99175,9900000Nein

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Hallo,

der geänderte Quelltext:

Code:
For i = 5 To 30
  If Worksheets("Tabelle1").Cells(i, 5).Value <= Worksheets("Tabelle1").Range("M4") Then
    Worksheets("Tabelle1").Cells(i, 13) = "ja"
  Else
    Worksheets("Tabelle1").Cells(i, 13) = "Nein"
  End If
Next i