Я настроил лист Excel с выпадающими меню для некоторых ячеек.
пользователь может выбирать только значения из этого списка, и появляется сообщение об ошибке
когда что-то напечатано, чего нет в списке (через проверку данных
Предупреждение об ошибке).
Так что все работает нормально ... Но когда пользователь вставляет копию в ячейки, проверка не работает Как сделать проверку эффективной в случае копирования пасты.
Я искал и нашел одно решение, но оно не работает.
Вот код, который я нашел. но он больше не работает .. Всегда возвращаю true
Private Sub Worksheet_Change(ByVal Target As Range)
If HasValidation(Range(ActiveCell.Address)) Then
Exit Sub
Else
Application.Undo
MsgBox "Your last operation was canceled." & _
"It would have deleted data validation rules.", vbCritical
End If
End Sub
Private Function HasValidation(r) As Boolean
On Error Resume Next
x = r.Validation.Type
If Err.Number = 0 Then HasValidation = True Else HasValidation = False
End Function