Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim blokuj As Boolean, spr As Boolean
- Private Sub Worksheet_Change(ByVal Target As Range)
- On Error GoTo Change_ErrorYN
- If spr = True Then
- If blokuj Then Exit Sub
- End If
- If (Target.Column > 0 And Target.Column < 11) And (Target.Row > 1 And Target.Row < 23) Then
- If CStr(Cells(Target.Row, 11)) = "Y" Then
- blokuj = True
- spr = True
- Target.Value = ""
- spr = False
- Exit Sub
- End If
- End If
- If Target.Column = 6 And (Target.Row > 1 And Target.Row < 23) Then
- Select Case CStr(Target.Value)
- Case "Y":
- Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 22
- Case "N"
- Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 15
- Case Else:
- Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 36
- End Select
- ElseIf Target.Column = 9 And (Target.Row > 1 And Target.Row < 23) Then
- Select Case CStr(Target.Value)
- Case "Y":
- Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 22
- Cells(Target.Row, Target.Column + 1) = Now
- Case "N":
- Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 15
- Cells(Target.Row, Target.Column + 1) = Now
- Case Else:
- Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 36
- Cells(Target.Row, Target.Column + 1) = ""
- End Select
- End If
- Exit Sub
- Change_ErrorYN:
- If Err.Number = 13 And Selection.Rows.Count > 1 And Selection.Columns.Count = 1 Then
- r = 1
- For i = Selection.Row To Selection.Row + Selection.Rows.Count - 1
- Cells(i, Target.Column) = Selection.Cells(r, 1)
- r = r + 1
- Next i
- End If
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement