Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Syntaxfehler oder falsche Ausgabe bei IF Anweisung
#1
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
Antworten Top
#2
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
Antworten Top
#3
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?
Antworten Top
#4
Hallo,

so ist die Anweisung in Deinem Code.

Gruß Uwe
Antworten Top
#5
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
Antworten Top
#6
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.
Antworten Top
#7
... lade doch mal eine Beispielmappe hoch, damit man den Fehler nachvollziehen kann.

Gruß Regina
Antworten Top
#8
hier - bitte schön - Button 3


Angehängte Dateien
.xlsm   Mappe12.xlsm (Größe: 37,82 KB / Downloads: 3)
Antworten Top
#9
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
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste