2015-05-18 1 views
1

Я пытаюсь определить, если ячейка имеет проверку данных, используя следующее выражение:результатов Target.Validation.Type в «приложении или объект определенного» ошибка

If Target.Validation.Type = 3 Then 

Однако я получаю сообщение об ошибке в VBA :

определяется приложением или объектом определенных ошибок

Я попытался с помощью On error Resume Next и On error Goto 0, но это не помогает.

Как проверить, содержит ли ячейка данные?

ответ

1

Это один из способов. Это проверяет, проверена ли какая-либо ячейка на листе. Если это не произойдет, то он выйдет из под. Если он затем проверяет, является ли текущая ячейка частью этих ячеек проверки

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Dim r As Range 

    Application.EnableEvents = False 

    On Error Resume Next 
    Set r = Cells.SpecialCells(xlCellTypeAllValidation) 
    On Error GoTo 0 

    If Not r Is Nothing Then 
     On Error GoTo Whoa 

     If Not Intersect(Target, r) Is Nothing Then 
      If Target.Validation.Type = 3 Then 
       ' 
       '~~> Your code 
       ' 
      End If 
     End If 
    End If 

Letscontinue: 
    Application.EnableEvents = True 
    Exit Sub 
Whoa: 
    MsgBox Err.Description 
    Resume Letscontinue 
End Sub 
Смежные вопросы