VBA Zeitwert größer als
23.11.2021 16:15:54
Peer
Ich brauche wieder einmal einen (hoffentlich) kleinen Gedankenanstoß zu folgendem Anliegen.
Ich habe in einer Zelle im Sheet "Gesamtstunden" C20 einen Zeitwert (SollArbZ) im Zellformat hh:mm. Aktuell steht hier "07:48"
Nun habe ich eine Schleife, die alle relevanten Zeilen ab Zeile 12 durchläuft und die Werte aus der(n) betreffenden Spalte(n) in die Spalte 14 schreiben, wenn der Wert 0 ist, wobei er weitere bestimmten String (Ruhe, Krank, Urlaub) nicht enthalten darf.
Soweit läuft alles auch zufriedenstellend.
Nun möchte ich noch die Bedingung stellen und prüfen lassen, ob die SollArbZ (Zellwert C20) größer ist, und nur dann den Wert aus der zugehörigen Spalte in Spalte 14 einzutragen.
Public Sub SonstAngaben_ArbZ()
Dim i As Long, datSollArbz As Integer
'datSollArbz = Sheets("Gesamtstunden").Cells(20, 3) * 24
If WorksheetFunction.CountA([T12:U42]) = 0 Then
MsgBox "keine Arbeitszeiten vorhanden"
Else:
With ActiveSheet
For i = 12 To .Cells(44, 20).End(xlUp).Row
datSollArbz = .Cells(i, 22) * 24
'wenn Zelle Spalte 14 leer und Zelle Spalte 20 nicht leer, dann übertrage 20 und 21 nach 14
If Cells(i, 14) = "" Then
If Len(Cells(i, 20)) And Len(Cells(i, 21)) Then
Select Case Cells(i, 4)
Case "Ruhe", "Krank", "Urlaub"
Cells(i, 14) = ""
Case Else
If Cells(i, 22) > 7.8 Then
Cells(i, 14) = Cells(i, 20).Text & " - " & Cells(i, 21).Text
Cells(8, 14).Value = "Arbeitszeit"
Cells(i, 14).HorizontalAlignment = xlCenter
End If
End Select
End If
End If
Next i
End With
End If
End Sub
Wie kann ich diese Bedingung noch einfügen?Vielen Dank für jeden Anstoss.
LG
Peer