У меня есть электронная таблица, в которой есть столбец (скажем, столбец A). Идея состоит в том, что этот столбец заполняется пользователем с различными оценками. Как только пользователь доволен своими ответами в столбце A, я хочу, чтобы он подтвердил правильность ответов (в идеале, нажав кнопку). После нажатия этой кнопки я хочу использовать VBA для защиты столбца A от повторного редактирования. Я бы предпочел не использовать опцию защиты рабочего листа, так как в электронной таблице есть дополнительные данные, где мне нужно держать некоторые ячейки заблокированными, но редактируемыми (они используют списки проверки данных).
Я нашел этот бит VBA, но он основан на изменении рабочего листа - если бы я мог каким-то образом использовать это, но активировать его только после того, как пользователь подтвердит, что данные установлены, это было бы идеально:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Range("A2:A14")) Is Nothing Then Exit Sub
Application.EnableEvents = False
MsgBox "Hey, leave me alone!", 48, "Sorry, I'm protected."
Application.Undo
Application.EnableEvents = True
End Sub