Onde o texto de validação de dados é armazenado no Excel?

9

Eu tenho uma planilha do Excel 2003 com várias regras de validação de dados diferentes. Existe alguma maneira que eles possam ser visualizados a não ser através da janela regular de validação de dados?

Seria útil exportar uma lista com alertas de erro de validação e regras e verificar essa lista em vez de usar a caixa de diálogo.

Alguém sabe se isso é possível? Ou como construir uma macro para fazer isso?

Se esta questão deve ser migrada para o StackOverflow, como eu faria isso?

    
por datatoo 09.01.2010 / 01:53

1 resposta

4

Existe um objeto Excel VBA Validation, associado ao intervalo. Veja o código:

With Range("e1").Validation
.Add Type:=xlValidateWholeNumber, _
    AlertStyle:=xlValidAlertInformation, _
    Minimum:="5", Maximum:="10"
.InputTitle = "Needs Wholenumber"
.ErrorTitle = "Integers"
.InputMessage = "Enter an integer from five to ten"
.ErrorMessage = "You must enter a number from five to ten"
End With

Essas propriedades são legíveis, então você pode extrair o .InputTitle ou .InputMessage ou os valores min e max permitidos para a validação da célula programaticamente, para ver qual validação está sendo usada.

Tente isto:

Sub test()
Range("a1") = Range("e1").Validation.InputTitle & ": Range = " & Range("e1").Validation.Formula1 & " to " & Range("e1").Validation.Formula2
End Sub

O código acima retorna à célula A1: Precisa de Wholenumber: Range = 5 a 10 . Veja livros on-line para mais informações. link

Glenn

    
por 12.01.2010 / 01:29