Diagonale Rahmenlinien bei Wert
07.08.2018 02:54:53
Benjamin
für einen Abrechnungsbogen wird pro Mitarbeiter eine Zeile automatisch über Anpassung der Daten aus einem Import geschrieben.
Hat ein Mitarbeiter nicht gearbeitet, müssen die daher freien Zellen auf dem Bogen durch Durchstreichen entwertet werden.
Wenn ein Mitarbeiter gearbeitet hat, erscheinen seine Stunden in der Spalte K.
K29 = Stunden Mitarbeiter 1, K30 = Stunden Mitarbeiter 2 usw...
Änderung der Formatierung bei Aktivierung der Mappe wäre auch kein Problem, da je nach Import nicht alle Stunden-Zellen geschrieben werden.
Über mehrere Tage hinweg habe ich recherchiert und getestet, aber bin nicht weiter als bis zu diesem Ergebnis gekommen:
Private Sub Worksheet_Change(ByVal Target As Range)
Target = Range("K29:K35")
If Target.Value = 0 Then
With Target.Offset(RowOffset:=0, ColumnOffset:=-6)
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
End With
Else
With Target.Offset(RowOffset:=0, ColumnOffset:=-6)
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlDiagonalDown).LineStyle = xlNone
End With
End If
End Sub
Vielen Dank bereits im Vorfeld :-)