Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I33").Locked = True Then
If Intersect(Target, Range("M:M")) Is Nothing Then Exit Sub
If Not Intersect(ActiveCell, Range("M33:M633")) Is Nothing Then
If Range("M32").Locked Then
MsgBox " Select the PAYM'T MADE button" & vbNewLine & _
" above to enter payment date or" & vbNewLine & " select Title Bar to return Home."
Range("N32").Select
GoTo Continue
End If
End If
End If
If Intersect(Target, Range("M:M,I:I")) Is Nothing Then Exit Sub
If Not Intersect(ActiveCell, Range("M33:M633")) Is Nothing Then
If Range("M32").Locked Then
MsgBox " Select the PAYM'T MADE button" & vbNewLine & _
" above to enter payment date or" & vbNewLine & " select Title Bar to return Home."
Range("N32").Select
GoTo Continue
End If
End If
If Not Intersect(Target, Range("M32:M1300,I32:I1300")) Is Nothing Then
Now = (Split(ActiveCell(1).Address(1, 0), "$")(1))
If (Old <> Now) Then
UnProtect_It
Range(Cells(Now, 3), Cells(Now, 3)).Font.Color = vbRed
If Old Then Range(Cells(Old, 3), Cells(Old, 3)).Font.Color = False
Range(Cells(Now, 3), Cells(Now, 3)).Font.Bold = True
If Old Then Range(Cells(Old, 3), Cells(Old, 3)).Font.Bold = False
Protect_It
End If
Old = Now
End If
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If Target.Cells.CountLarge = 1 And Not Intersect(Range("M32:M632"), Target) Is Nothing Then
On Error GoTo Escape
Application.EnableEvents = False
'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
If ActiveCell.Offset(-1, 0) <= 0 Then
If MsgBox(" --- WARNING ---" _
& vbNewLine & vbNewLine & " Do not skip a Payment." & vbNewLine & _
" ~~~~~~~~~~~~~~~~~~~~" & vbNewLine & _
" It is assumed all payments are made in" & vbNewLine & " full, on time, and posted consecutively." & vbNewLine & _
" Partial or skipped payments will cause" & vbNewLine & " an inaccurate Amortization Schedule.") = vbOK Then
NextPayDate
Else
End If
End If
'----- Copy/Paste Values when date is entered in Column M ------
If IsDate(Target.Value) Then
With Target.Offset(, -11).Resize(, 10)
.Value = .Value
End With
End If
'If IsDate(Target) Then Target.Offset(, -2).Value = Target.Offset(, -2).Value 'Updates only one column
'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
End If
Continue:
Application.EnableEvents = True
Exit Sub
Escape:
MsgBox "Error " & Err.Number & ": " & Err.Description
Resume Continue
End Sub