Dove viene archiviato il testo di convalida dei dati in Excel?


9

Ho un foglio Excel 2003 con molte regole di convalida dei dati diverse. Esiste un modo per visualizzarli se non attraverso la normale finestra di dialogo di convalida dei dati?

Sarebbe utile esportare un elenco con avvisi di errore di convalida e regole e controllare tale elenco anziché tramite la finestra di dialogo.

Qualcuno sà se questo è possibile? O come creare una macro per fare questo?

Se questa domanda dovesse essere migrata su StackOverflow, come lo farei?


1
Questa è un'ottima domanda L'oggetto Convalida non è come l'oggetto Nomi - La convalida è legata a un intervallo specifico. Hmmm ...
DaveParillo,

Risposte:


4

Esiste un oggetto Convalida VBA Excel, associato all'intervallo. Vedi codice:

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

Queste proprietà sono leggibili in modo da poter estrarre i valori .InputTitle o .InputMessage o i valori min e max consentiti per la convalida di quella cella a livello di codice, per vedere quale validadtion viene utilizzata.

Prova questo:

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

Il codice sopra riportato ritorna alla cella A1: numero intero necessario: intervallo = da 5 a 10 . Vedi libri online per maggiori informazioni. http://msdn.microsoft.com/en-us/library/aa224495(office.11).aspx

Glenn


1
Questo è Excel 2007, ma penso che il modello del 2003 sarà simile a questo.
Glenn M,

questo è l'approccio di base che ho usato. l'intervallo A1: AZ4000 è stato testato con Per ogni cella nell'intervallo, raccogliendo Validation.ErrorTitle e Validation.ErrorMessage con i loro cell.addresss ed è stato scritto su un altro foglio per vedere i risultati. Quindi potrei scrivere regole condizionali per cambiare Messaggi e Titoli. Molto divertente ereditare qualcuno prima del lavoro precedente. Grazie Glenn, non esattamente quello di cui avevo bisogno, ma utile +1. Se qualcuno sa dove tutto questo è memorizzato nella cartella di lavoro, sono ancora molto curioso.
datatoo,

Stai chiedendo dove è memorizzato nel file binario BIFF8?
dkusleika,

Non sono sicuro di come o dove sia archiviato, poiché in un determinato foglio sono presenti diversi intervalli di celle. Principalmente vorrei un modo semplice per modificare i contenuti memorizzati. È possibile ottenere le informazioni, ma indirettamente.
datatoo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.