Страницы: 1
RSS
Как программно узнать установлена ли в ячейку проверка данных?, Validation = Данные - Проверка данных
 
Добрый вечер.
Как программно узнать установлена ли в ячейку проверка данных? (Validation = Данные - Проверка данных)
 
Вариант:
Код
Sub TestValidation()
    On Error Resume Next
    x = ActiveCell.Validation.Type
    If Not IsEmpty(x) Then
        MsgBox "Есть проверка данных.", 64, "Для сведения..."
    Else
        MsgBox "Нет проверки данных.", 64, "Для сведения..."
    End If
End Sub


 
Юрий, спасибо.
 
Для всех вариантов я не проверял...
 
тут еще на SpecialCells(xlCellTypeSameValidation) , но все равно с обаботкой ошибки, то есть без разницы.
По вопросам из тем форума, личку не читаю.
 
Лучше (на мой взгляд) код #2 оформить как функцию - это позволит избежать лишнего перехватчика ошибок в основном коде:


Код
Function ValidationExists(ByVal rg As Range) As Boolean
  Dim x
  On Error Resume Next
  x = rg.Validation.Type
  ValidationExists = (Err.Number = 0)
  On Error GoTo 0
End Function

Но это, естественно, на усмотрение автора.
Владимир
 
Спасибо всем.
Страницы: 1
Наверх