¿Dónde se almacena el texto de validación de datos en Excel?

9

Tengo una hoja de Excel 2003 con muchas reglas de validación de datos diferentes. ¿Hay alguna forma de que puedan verse de otra manera que no sea a través del diálogo de validación de datos regular?

Sería útil exportar una lista con alertas de error de validación y reglas, y verificar esa lista en lugar de hacerlo a través del cuadro de diálogo.

¿Alguien sabe si esto es posible? ¿O cómo construir una macro para hacer esto?

Si esta pregunta se migrara a StackOverflow, ¿cómo haría eso?

datatoo
fuente
1
Esta es una gran pregunta. El objeto de validación no es como el objeto de nombres: la validación está vinculada a un rango específico. Hmmm ...
DaveParillo

Respuestas:

4

Hay un objeto de Validación de VBA de Excel, asociado con el rango. Ver 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

Estas propiedades son legibles para que pueda extraer el .InputTitle o .InputMessage o los valores min y max permitidos para la validación de esa celda mediante programación, para ver qué validad se está utilizando.

Prueba esto:

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

El código anterior regresa a la celda A1: Necesita Wholenumber: Rango = 5 a 10 . Ver libros en línea para más información. http://msdn.microsoft.com/en-us/library/aa224495(office.11).aspx

Glenn

Glenn M
fuente
1
Este es Excel 2007, pero creo que el modelo 2003 será similar a este.
Glenn M
Este es el enfoque básico que utilicé. el rango A1: AZ4000 se probó con For Each cell in Range, recogiendo Validation.ErrorTitle y Validation.ErrorMessage con sus direcciones cell.add y se escribió en otra hoja para ver los resultados. Entonces podría escribir reglas condicionales para cambiar los Mensajes y Títulos. Mucha diversión heredar a alguien más trabajo previo. Gracias Glenn, no exactamente lo que necesitaba, pero servicial +1. Si alguien sabe dónde está todo esto almacenado en el libro, todavía tengo mucha curiosidad.
datatoo
¿Pregunta dónde está almacenado en el archivo binario BIFF8?
dkusleika
No estoy seguro de cómo o dónde se almacena, ya que hay una serie de rangos de celdas en una hoja determinada. Principalmente, me gustaría una forma simple de editar los contenidos que están almacenados. Puede obtener la información, pero indirectamente.
datatoo