Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ChangeEvent1(Target)
Call ChangeEvent2(Target)
End Sub
Private Sub ChangeEvent1(ByVal Target As Range)
Dim Rng As Range
Dim RngEnd As Range
' Only one cell should be selected.
If Target.Cells.Count > 1 Then Exit Sub
' The cell that changed value must in the range
If Intersect(Target, Range("E3:J313")) Is Nothing Then Exit Sub
' Only odd columns can be changed by the user.
If Target.Column And 1 = 0 Then Exit Sub
Set Rng = Cells(3, Target.Column)
Set RngEnd = Cells(Rows.Count, Target.Column).End(xlUp)
Set Rng = Range(Rng, RngEnd)
' If cell is not in the question range then exit.
If Intersect(Target, Rng) Is Nothing Then Exit Sub
ActiveSheet.Unprotect Password:="mypassword"
Application.EnableEvents = False
If Target.Value = "No Data" Then
Target.Offset(0, 1).Locked = True
Target.Offset(0, 1).Value = ".N"
Target.Offset(0, 1).Interior.ColorIndex = 56
Target.Offset(0, 1).Interior.Pattern = xlSolid
Else
Target.Offset(0, 1).Locked = False
Target.Offset(0, 1).Value = ""
Target.Offset(0, 1).Interior.ColorIndex = 0
End If
' ActiveSheet.Protect Password:="mypassword"
Application.EnableEvents = True
End Sub
Private Sub ChangeEvent2(ByVal Target As Range)
Dim Rng As Range
Dim RngEnd As Range
' Only cell cell should be selected.
If Target.Cells.Count > 1 Then Exit Sub
' The cell that changed value must in the range C3:AN323.
If Intersect(Target, Range("C3:c313")) Is Nothing Then Exit Sub
' Only odd columns can be changed by the user.
If Target.Column And 1 = 0 Then Exit Sub
Set Rng = Cells(3, Target.Column)
Set RngEnd = Cells(Rows.Count, Target.Column).End(xlUp)
Set Rng = Range(Rng, RngEnd)
' If cell is not in the question range then exit.
If Intersect(Target, Rng) Is Nothing Then Exit Sub
ActiveSheet.Unprotect Password:="mypassword"
Application.EnableEvents = False
If Target.Value = "No Data" Then
Target.Offset(0, 1).Locked = True
Target.Offset(0, 1).Value = ".N"
Target.Offset(0, 1).Interior.ColorIndex = 56
Target.Offset(0, 1).Interior.Pattern = xlSolid
Target.Offset(0, 3).Locked = True
Target.Offset(0, 3).Value = ".N"
Target.Offset(0, 3).Interior.ColorIndex = 56
Target.Offset(0, 3).Interior.Pattern = xlSolid
Target.Offset(0, 5).Locked = True
Target.Offset(0, 5).Value = ".N"
Target.Offset(0, 5).Interior.ColorIndex = 56
Target.Offset(0, 5).Interior.Pattern = xlSolid
Target.Offset(0, 7).Locked = True
Target.Offset(0, 7).Value = ".N"
Target.Offset(0, 7).Interior.ColorIndex = 56
Target.Offset(0, 7).Interior.Pattern = xlSolid
Else
Target.Offset(0, 1).Locked = False
Target.Offset(0, 1).Value = ""
Target.Offset(0, 1).Interior.ColorIndex = 0
Target.Offset(0, 3).Locked = False
Target.Offset(0, 3).Value = ""
Target.Offset(0, 3).Interior.ColorIndex = 0
Target.Offset(0, 5).Locked = False
Target.Offset(0, 5).Value = ""
Target.Offset(0, 5).Interior.ColorIndex = 0
Target.Offset(0, 7).Locked = False
Target.Offset(0, 7).Value = ""
Target.Offset(0, 7).Interior.ColorIndex = 0
End If
' ActiveSheet.Protect Password:="mypassword"
Application.EnableEvents = True
End Sub
Bookmarks