データ検証テキストはExcelのどこに保存されますか?


9

さまざまなデータ検証ルールが多数含まれたExcel 2003シートがあります。通常のデータ検証ダイアログ以外で表示できることはありますか?

検証エラーのアラートとルールを含むリストをエクスポートし、ダイアログではなくそのリストを確認すると便利です。

これが可能かどうか誰でも知っていますか?またはこれを行うマクロを作成するにはどうすればよいですか?

この質問をStackOverflowに移行する必要がある場合、どうすればよいですか?


1
これは素晴らしい質問です。ValidationオブジェクトはNamesオブジェクトとは異なります-Validationは特定の範囲に関連付けられています。
うーん

回答:


4

範囲に関連付けられたExcel VBA Validationオブジェクトがあります。コードを参照してください:

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

これらのプロパティは読み取り可能であるため、プログラムでセルの検証に許可されている.InputTitleまたは.InputMessageまたは最小値と最大値を引き出して、使用されているvalidadtionを確認できます。

これを試して:

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

上記のコードはセルA1に戻ります。Wholenumbers:Needs Wholenumber:5 = 10が必要です。詳細については、オンラインの書籍を参照してください。 http://msdn.microsoft.com/en-us/library/aa224495(office.11​​).aspx

グレン


1
これはExcel 2007ですが、2003年のモデルはこれに似ていると思います。
Glenn M

これは私が使用した基本的なアプローチです。範囲A1:AZ4000は、範囲のFor Eachセルでテストされ、Validation.ErrorTitle、およびValidation.ErrorMessageとそのcell.addresssが収集され、結果を確認するために別のシートに書き込まれました。次に、メッセージとタイトルを変更するための条件付きルールを記述できます。誰か他の人の前の仕事を継承するたくさんの楽しみ。Glennに感謝します。私が必要とするものではありませんが、役立つ+1です。このすべてがワークブックのどこに保存されているかを誰かが知っているなら、私はまだ非常に興味があります。
datatoo

それがBIFF8バイナリファイルのどこに保存されているか尋ねていますか?
dkusleika、2010年

特定のシートには多数のセル範囲があるため、どのようにまたはどこに格納されるのかわかりません。主に、保存されているコンテンツを編集する簡単な方法が欲しいです。情報は入手できますが、間接的に入手できます。
datatoo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.