456 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich habe einen Code mit dem ich bei Wechsel der Uhrzeit eine Linie in der Tabelle einfügen möchte. (s. Testdatei https://www.dropbox.com/s/s2y8kluc0z3ghqi/Mappe2.xlsm?dl=0)

Sub test()

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If CDbl(Cells(i + 1, 3)) > CDbl(Cells(i, 3)) Then
lngStrich = Cells(i, 2).Row
Range(Cells(lngStrich, 1), Cells(lngStrich, 8)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDash
.Weight = xlThin
End With
End If
Next i

End Sub


Ich habe die entsprechenden Zellen Spalte "C" mit der Urzeit im Code bereits in double umgewandelt, da es nicht funktioniert hat. Im Überwachungsfenster wird mir für beide Zellen auch der gleiche Wert angezeigt, dennoch wird fälschlicherweise eine Linie eingefügt, wo sie nicht hingehört und obwohl die Bedingung nicht erfüllt ist.

3 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Andreas,

manchmal ist Excel etwas eigen, besonders wenn es um Zeitvergleich geht.

Aber so klappt es:
Sub test()

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Format(Cells(i + 1, 3).Value, "hh:mm") > Format(Cells(i, 3).Value, "hh:mm") Then
lngStrich = Cells(i, 2).Row
Range(Cells(lngStrich, 1), Cells(lngStrich, 8)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDash
.Weight = xlThin
End With
End If
Next i

End Sub

Gruß

M.O.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo M.O.,

ich hatte schon alles möglich probiert - nur das nicht..:-(
Klappt jetzt einwandfrei :-), da muß man allerdings erst einmal drauf kommen!!
VG A.
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Andreas,

ich stand schon mal vor dem selben Problem wie du ;-). Nach einigem Suchen im Internet habe ich dann die obige Lösung gefunden.

Gruß

M.O.
...