none
Verificar validação de dados RRS feed

  • Pergunta

  • Bom dia. Gostaria de saber como eu consigo descobrir se uma determinada range de uma planilha do Excel tem ou não uma validação de dados , através do VBA. Eu não quero saber como faz isso no Excel, pois isso já sei. Por exemplo, digamos que na A1 a pessoa pode aplicar a validação ou não, eu quero verificar se A1 tem ou não validação através do VBA, tipo se tem validação eu exibo "ok" numa msgbox e "sem validação" quando não tem. Grato.
    segunda-feira, 28 de setembro de 2015 14:32

Respostas

  • Olá Sensei,

    A validação de dados do Excel está disponível no VBA através do objeto validation.

    Segue abaixo a referência.

    https://msdn.microsoft.com/pt-br/library/office/ff821214.aspx?f=255&MSPPError=-2147217396

    Para verificar se determinado intervalo possui validação, você pode tentar retornar o tipo de validação daquele intervalo, caso ele retorne erro, significa que não há validação naquele intervalo.

    '##### Function for Validation check
    Private Function HasValidation(r) As Boolean
        'Returns True if every cell in Range r uses Data Validation
        On Error Resume Next
        x = r.Validation.Type
        If Err.Number = 0 Then HasValidation = True Else HasValidation = False
    End Function

    • Sugerido como Resposta André Santo segunda-feira, 28 de setembro de 2015 14:41
    • Marcado como Resposta SenseiMatsumoto segunda-feira, 5 de outubro de 2015 15:12
    segunda-feira, 28 de setembro de 2015 14:40