Private oldData
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Long, ii As Long
If Sh.Name = "secret" Then Exit Sub
Application.EnableEvents = False
If Not IsArray(oldData) Then
If oldData <> Target.Value Then
Sheets("secret").Cells(Rows.Count, "a").End(xlUp).Offset(1) = _
Application.UserName
End If
Else
For i = 1 To UBound(oldData, 1)
For ii = 1 To UBound(oldData, 2)
If Target.Cells(i, ii) <> oldData(i, ii) Then
Sheets("secret").Cells(Rows.Count, "a").End(xlUp).Offset(1) = _
Application.UserName
Exit For
End If
Next
Next
End If
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
oldData = Target.Value
End Sub