У меня есть флажок «Check_Group» на рабочем листе «Рабочий лист ценообразования FA 2.0».У меня есть подпрограмма, определенная в указанном рабочем листе, которая изменяет некоторые значения в другом месте, когда пользователь нажимает на нее:
Private Sub Check_Group_Click()
Active = ActiveSheet.Name
Sheets("FA 2.0 Pricing Worksheet").Activate 'This activate has to happen here because there are some steps in a different routine where this checkbox has to be clicked programmatically
If ActiveSheet.OLEObjects("Check_Group").Object.Value = True Then
Sheets("FA 2.0 Risk Checklist").Range("UI_GROUP_RISK").Value = "No"
Else
Sheets("FA 2.0 Risk Checklist").Range("UI_GROUP_RISK").Value = "Yes"
End If
Sheets(Active).Select
End Sub
Это работает как шарм, за исключением того, что я заметил особенно раздражающий побочный эффект - клавиатура кажетсязаблокировать после нажатия на него!
Я могу без проблем щелкать по ячейкам и перемещаться по листу, но при попытке ввода в (незащищенную) ячейку он вообще не реагирует на нажатия клавиш.
Я подтвердил с помощью отладчика, что EnableEvents и ScreenUpdating оба включены.
Я могу обойти проблему, щелкнув другую вкладку иобратный набор текста работает как обычно, тогда ... в тех же самых ячейках, где он не мог печатать раньше!Я все же хотел бы найти решение, а не просто этот дешевый обходной путь.
Это в Excel 2016.
Почему моя подпрограмма блокирует клавиатуру?