Привет мастерам. Не могу понять в чем проблема при работе Worksheet_SelectionChange. Внутри построено условие со всплывающим сообщением (подтверждения выполнения), при нажатии "Да" все корректно работает, но при нажатии "Нет", то все просто перестает работает. Макрос "Worksheet_SelectionChange" больше не реагирует, пока не перезапустишь EXCEL
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
DateNameEvent Target, Range(Cells(3, 7), Cells(20, 7))
End Sub
Sub DateNameEvent(Target As Range, KeyCells As Range)
Application.EnableEvents = False
If Not Application.Intersect(KeyCells, Target) Is Nothing Then
If Cells(Target.Row, 7) <> "Выполнено" Then
If MsgBox(Подтвердить выполнение " & "(" & Cells(ActiveCell.Row, ActiveCell.Column - 3).Value & ")" & "?" & Chr(13) & _
"Исполнитель:" & Cells(ActiveCell.Row, ActiveCell.Column - 4).Value & ".", vbExclamation + vbYesNo, "Выполнение задания") = vbYes Then
ActiveCell.Value = "Выполнено"
ActiveCell.Interior.Color = 52224
Cells(Target.Row, 6).Interior.Color = RGB(255, 255, 255)
Cells(Target.Row, 24).Value = Application.UserName
Cells(Target.Row, 25).Value = Date
Cells(Target.Row, 26).Value = Time
Else
Exit Sub
End If
Else
If MsgBox("Задание " & "(" & Cells(ActiveCell.Row, ActiveCell.Column - 3).Value & ") уже выполнено, убрать отметку" & "?" & Chr(13) & _
"Исполнитель:" & Cells(ActiveCell.Row, ActiveCell.Column - 4).Value & ".", vbInformation + vbYesNo, "Выполнение задания") = vbYes Then
ActiveCell.Value = "Подтвердить выполнение"
ActiveCell.Interior.Color = 13497086
Cells(Target.Row, 27).Value = Application.UserName
Cells(Target.Row, 28).Value = Date
Cells(Target.Row, 29).Value = Time
If Cells(ActiveCell.Row, ActiveCell.Column - 1) < Date Then
Cells(Target.Row, 6).Interior.Color = 255
End If
Else
Exit Sub
End If
End If
End If
Application.EnableEvents = True
End Sub