У меня есть некоторые ячейки с проверкой, но неверные данные могут быть введены в ячейки, вставив их. Когда пользователь вставляет данные в ячейку, я хотел бы сделать ячейку красной, если данные недействительны, или восстановить ее до белого, если данные действительны.Отметить недействительные ячейки делает невозможным отмену
Я использую следующее событие рабочего листа:
Private Sub worksheet_change(ByVal target As Range)
If Not target.Validation.value Then
target.Interior.ColorIndex = 3
Else
target.Interior.ColorIndex = 2
End If
End Sub
Это выполняет требуемое изменение цвета, но это также делает невозможным, чтобы отменить. Есть ли способ реализовать этот тип окраски ячеек, в то же время позволяя пользователю отменить действия вставки?
Будет ли условный формат не делать то же самое для вас? – PaulFrancis
@PaulFrancis, действительно. Я собираюсь реализовать условное правило форматирования с использованием функции 'is_valid()', аналогичной [этому ответу] (http://stackoverflow.com/a/20959389/619177). Не стесняйтесь публиковать это как ответ, если хотите. – sigil
Это может быть излишним, но у меня также было требование прекратить проверку ячеек, написанных при вставке пользователей. Я нашел этот фрагмент кода, который использует очередь отмены, чтобы изменить пасту в специальную вставку, которая сохраняет любую проверку ячейки [link] (http://www.yogeshguptaonline.com/2009/04/macros-in-excel- disable-cut-copy-paste.html) –