Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeLLe As Range
Dim pruefRng As Range
' Die Prüfung auf Spalte 13 ist nur sinnvoll, wenn in Spalte 12 eine Formel steht
' die sich auf Spalte 13 bezieht
Set pruefRng = Intersect(Target, Range("L:M"))
If pruefRng Is Nothing Then Exit Sub
' Pruefung nur in den relevanten Spalten
For Each zeLLe In pruefRng
If Cells(Target.Row, 12) <> "" Then
With Range(Cells(Target.Row, 1), (Cells(Target.Row, 10))).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Cells(Target.Row, 12).Select
' MsgBox "Wert drin"
' Application.Calculation = xlCalculationAutomatic
Else
End If
Next
End Sub
Gruss, JogyPrivate Sub Worksheet_Change(ByVal Target As Range)
Dim zeLLe As Range
Dim pruefRng As Range
If Target.Address = Range("rID").Address Then Me.Range("C12") = "Top"
' Die Prüfung auf Spalte 13 ist nur sinnvoll, wenn in Spalte 12 eine Formel steht
' die sich auf Spalte 13 bezieht
' UsedRange tut der Laufzeit gut, sonst macht das beim Kopieren/Löschen
' von ganzen Spalten diese bis Zeile 65536
Set pruefRng = Intersect(Target, Range("L:M"), UsedRange)
If pruefRng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
' Pruefung nur in den relevanten Spalten
For Each zeLLe In pruefRng
If Cells(zeLLe.Row, 12) <> "" Then
With Range(Cells(zeLLe.Row, 1), (Cells(zeLLe.Row, 10))).Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
' MsgBox "Wert drin"
' Application.Calculation = xlCalculationAutomatic
Else
End If
Next
Application.ScreenUpdating = True
End Sub
ColorIndex 15 ist grau
Private Sub Worksheet_Change(ByVal Target As Range)
Dim testRng As Range
Dim zeLLe As Range
Set testRng = Intersect(Target, Columns(12), UsedRange)
If testRng Is Nothing Then Exit Sub
' Bildschirmupdate aus, sonst flackert es
Application.ScreenUpdating = False
' Events aus, da jede Änderung unten das wieder
' aufrufen würde
Application.EnableEvents = False
For Each zeLLe In testRng
If IsDate(zeLLe) Then
zeLLe.Value = CDate(zeLLe.Value)
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
' Noch berechnen, das passiert aufgrund der
' ausgeschalteten Events sonst nicht
Me.Calculate
End Sub