Makro läuft nicht. Denkfehler?
17.12.2003 21:04:38
Steffen
ich bastle schon ne ganze Weile an einem Stück Code rum und weiß nicht warum es nicht läuft. Ich hatte weiter unten schon einmal eine ähnliche Frage gestellt, aber hier ist nun auch mal der Code dazu.
In der Tabelle 1 stehen in Spalte C Bezeichner und in F Geburtsdaten. Ich möchte nun die Aälteste, bzw. jüngste Person ermitteln, unter der Bedingung, dass in der Spalte c ein bestimmter Bezeichner steht. Somit werden dann einige Geburtsdaten ausgelassen.
Die Ermittlung des ältesten geht prima. Funktioniert.
Bei der Ermittlung des Jüngsten geht gar nichts. Wenn ich den unten stehenden Code laufen lasse, springt er gar nicht in die If schleife mit datediff("d".....d.h. die Variable 'Jüngster_nur_wfr' bleibt immer leer. Wenn ich für Date was anderes eingebe, was ja eigentlich keinen Sinn macht, läuft es durch, auch nur die Zeilen in denen der gewünschte Bezeichner steht, aber es wird einfach immer das nächste Datum genommen, egal, ob es jünger oder älter ist.
Ich kann da irgendwie keinen Fehler finden. Denkee ist vielleicht ein Denkfehler drin
Würd mcih freuen, wenn ihn vielleicht ein anderer findet.
Ermittlung des Ältesten:
Sub Ältester()
zeile = 2
d = .Cells(zeile, 6).Value
For zeile = 2 To .Cells(65536, 6).End(xlUp).Row
If .Cells(zeile, 3).Value = "wfr" Then
If DateDiff("d", .Cells(zeile, 6).Value, Date) > maxdiff Then
maxdiff = DateDiff("d", .Cells(zeile, 6).Value, Date)
Ältester_nur_wfr = .Cells(zeile, 6).Address
End If
End If
Next
End With
End Sub
Ermittlung des Jüngsten:
Sub Jüngster()
zeile = 2
d = .Cells(zeile, 6).Value
For zeile = 2 To .Cells(65536, 6).End(xlUp).Row
If .Cells(zeile, 3).Value = "wfr" Then
If DateDiff("d", .Cells(zeile, 6).Value, Date) < mindiff Then
mindiff = DateDiff("d", .Cells(zeile, 6).Value, Date)
Jüngster_nur_wfr = .Cells(zeile, 6).Address
End If
End If
Next
End With
End Sub