Wo wird Datenüberprüfungstext in Excel gespeichert?

9

Ich habe eine Excel 2003-Tabelle mit vielen verschiedenen Datenüberprüfungsregeln. Gibt es überhaupt eine Möglichkeit, sie anders als über den regulären Datenüberprüfungsdialog anzuzeigen?

Es wäre hilfreich, eine Liste mit Warnungen und Regeln für Validierungsfehler zu exportieren und diese Liste nicht über den Dialog zu überprüfen.

Weiß jemand ob das möglich ist? Oder wie erstelle ich ein Makro, um dies zu tun?

Wie würde ich das tun, wenn diese Frage auf StackOverflow migriert werden sollte?

datatoo
quelle
1
Das ist eine gute Frage. Das Validierungsobjekt ähnelt nicht dem Names-Objekt. Die Validierung ist an einen bestimmten Bereich gebunden. Hmmm ...
DaveParillo

Antworten:

4

Dem Bereich ist ein Excel VBA-Validierungsobjekt zugeordnet. Siehe Code:

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

Diese Eigenschaften sind lesbar, sodass Sie den .InputTitle oder .InputMessage oder die für die Validierung dieser Zelle zulässigen Min- und Max-Werte programmgesteuert abrufen können, um festzustellen, welche Validadtion verwendet wird.

Versuche dies:

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

Der obige Code kehrt zu Zelle A1 zurück: Benötigt Ganzzahl: Bereich = 5 bis 10 . Weitere Informationen finden Sie in den Büchern online. http://msdn.microsoft.com/en-us/library/aa224495(office.11).aspx

Glenn

Glenn M.
quelle
1
Dies ist Excel 2007, aber ich würde denken, dass das Modell 2003 diesem ähnlich sein wird.
Glenn M
Dies ist der grundlegende Ansatz, den ich verwendet habe. Der Bereich A1: AZ4000 wurde mit Für jede Zelle im Bereich getestet, wobei Validation.ErrorTitle und Validation.ErrorMessage mit ihren Zellenadressen erfasst und auf ein anderes Blatt geschrieben wurden, um die Ergebnisse anzuzeigen. Dann könnte ich bedingte Regeln zum Ändern der Nachrichten und Titel schreiben. Viel Spaß beim Erben einer anderen Arbeit. Danke Glenn, nicht genau das, was ich brauchte, aber hilfreich +1. Wenn jemand weiß, wo dies alles in der Arbeitsmappe gespeichert ist, bin ich immer noch sehr neugierig.
Datum
Fragen Sie, wo es in der BIFF8-Binärdatei gespeichert ist?
Dkusleika
Ich bin nicht sicher, wie oder wo es gespeichert ist, da es in einem bestimmten Blatt eine Reihe von Zellbereichen gibt. Meistens möchte ich eine einfache Möglichkeit, die gespeicherten Inhalte zu bearbeiten. Sie können an die Informationen gelangen, aber indirekt.
Datum