Ich bin dabei eine Zeiterfassungstabelle zu erstellen. Die Tabelle besteht aus 2 Spalten mit jeweils 16 Zellen. Jetzt möchte ich, wenn die Summe aus Spalte B (Zelle1) größer ist als die Summe aus Spalte A (Zelle1) ein msgBox erscheint, und meldet ( siehe makro )
Private Sub Worksheet_Change(ByVal Target As Range)
Dim date§
Date = Range("C14")
If Range("ZL1").Value < Range("ErsSu1") Then
ActiveSheet.Unprotect
With Range("Ers1").Interior
.ColorIndex = 3
.Pattern = xlSolid
ActiveSheet.Protect
End With
Debug.Print MsgBox("Es wurden am " & Format(Date, "DD.MM.YYYY ") _
& Range("ZL1") & " Stunden ZL eingetragen" + Chr(13) + "" + Chr(13) + _
"aber " & Range("Ers1") & " Stunden Erschwernisse " _
& vbLf & "" & vbLf & "bitte ändern" + Chr(13) + "", vbCritical, _
Application.UserName)
Else
ActiveSheet.Unprotect
With Range("Ers1").Interior
.ColorIndex = xlNone
.Pattern = xlSolid
ActiveSheet.Protect
End With
End If
End Sub
Das Makro funktioniert. Aber damit es in allen 16 zellen funtioniert müsste ich es 16 mal schreiben. Ich habe es versucht, nach 3 mal war Schluß und das Makro hat nichts mehr gemacht.
Vielleicht kann mir ja jemand weiterhelfen.
Gruß aus dem Norden
Reinhard