Guten Tag,
Jetzt plagt mich ein weiteres Problem.
Ich würde gerne ein Datumsintervall unter Berücksichtigung der Zeit farblich markieren.
Ich habe folgenden Code gefunden. Allerdings wird nur die Zeit innerhalb eines Tages berücksichtigt.
in meinem Fall kann die Dauer über Tage gehen und ich versteh nicht so recht wie ich das in den Code einbinden kann.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim start As Integer
Dim start1 As Integer
Dim ziel As Integer
Dim anz As Integer
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then
If Cells(Target.Row, 2) <> "" And Cells(Target.Row, 3) <> "" _
And Cells(Target.Row, 4) <> "" Then
Range("F" & Target.Row, "IV" & Target.Row).Interior.ColorIndex = x1None
start1 = 5
start = Format(Cells(Target.Row, 3), "hh")
ziel = Format(Cells(Target.Row, 4), "hh")
Do While Cells(1, start1) <> Cells(Target.Row, 2)
start1 = start1 + 1
Loop
If start > ziel Then
anz = (24 - start) + ziel
Else: anz = ziel - start
End If
start = start + start1
anz = anz + start + 1
Do While start < anz
Cells(Target.Row, start).Interior.ColorIndex = 6
start = start + 1
Loop
End If
End If
End Sub
Meine Daten beginnen ab Zeile 7. In Zeile 6 stehen nur die Überschriften.
Ab B7 Startdatum
Ab C7 Startuhrzeit
Ab D7 Enddatum
Ab E7 Endzeit
In Zeile 5 steht ab F5 der erste Tag
Zeile 6 ab F6 beginnt stündlich die Zeit im Format "hh". 0 - 23 Uhr. dann beginnt der nächste Tag ab AD5 usw....
Nun generell zu der Frage ob das sinnvoller über VBA oder bedingte Formatierung ist.
Ich würde es allerdings gerne über VBA lösen.
Anbei meine Beispieldatei zur Veranschaulichung http://www.file-upload.net/download-11612067/TEST1.xlsm.html
|