Advertisement
Guest User

Untitled

a guest
Jul 8th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Dim blokuj As Boolean, spr As Boolean
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.    
  4.     On Error GoTo Change_ErrorYN
  5.     If spr = True Then
  6.         If blokuj Then Exit Sub
  7.     End If
  8.    
  9.     If (Target.Column > 0 And Target.Column < 11) And (Target.Row > 1 And Target.Row < 23) Then
  10.         If CStr(Cells(Target.Row, 11)) = "Y" Then
  11.             blokuj = True
  12.             spr = True
  13.             Target.Value = ""
  14.             spr = False
  15.             Exit Sub
  16.         End If
  17.     End If
  18.    
  19.     If Target.Column = 6 And (Target.Row > 1 And Target.Row < 23) Then
  20.         Select Case CStr(Target.Value)
  21.         Case "Y":
  22.             Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 22
  23.         Case "N"
  24.             Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 15
  25.         Case Else:
  26.             Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.ColorIndex = 36
  27.         End Select
  28.     ElseIf Target.Column = 9 And (Target.Row > 1 And Target.Row < 23) Then
  29.         Select Case CStr(Target.Value)
  30.         Case "Y":
  31.             Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 22
  32.             Cells(Target.Row, Target.Column + 1) = Now
  33.         Case "N":
  34.             Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 15
  35.             Cells(Target.Row, Target.Column + 1) = Now
  36.         Case Else:
  37.             Range(Cells(Target.Row, 7), Cells(Target.Row, 8)).Interior.ColorIndex = 36
  38.             Cells(Target.Row, Target.Column + 1) = ""
  39.         End Select
  40.     End If
  41.     Exit Sub
  42.    
  43. Change_ErrorYN:
  44.     If Err.Number = 13 And Selection.Rows.Count > 1 And Selection.Columns.Count = 1 Then
  45.         r = 1
  46.         For i = Selection.Row To Selection.Row + Selection.Rows.Count - 1
  47.             Cells(i, Target.Column) = Selection.Cells(r, 1)
  48.             r = r + 1
  49.         Next i
  50.     End If
  51. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement