数据验证文本存储在Excel中的什么位置?


9

我有一个Excel 2003工作表,其中包含许多不同的数据验证规则。无论如何,除了可以通过常规数据验证对话框查看之外,还可以查看它们吗?

导出包含验证错误警报和规则的列表,并检查该列表而不是通过对话框,将很有帮助。

有人知道这是否可能吗?或者如何建立一个宏来做到这一点?

如果应该将此问题迁移到StackOverflow,我该怎么办?


1
这是一个很好的问题。Validation对象与Names对象不同-Validation绑定到特定的Range。嗯...
DaveParillo 2010年

Answers:


4

有一个与范围相关联的Excel VBA验证对象。看到代码:

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或该单元格验证所允许的最小值和最大值,以查看正在使用的验证方式。

尝试这个:

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

上面的代码返回到单元格A1:需要整数:范围= 5到10。有关更多信息,请参见在线书籍。 http://msdn.microsoft.com/zh-CN/library/aa224495(office.11​​).aspx

格伦


1
这是Excel 2007,但我认为2003模型将与此类似。
Glenn M 2010年

这是我使用的基本方法。使用范围内的每个单元格对范围A1:AZ4000进行了测试,收集了Validation.ErrorTitle和Validation.ErrorMessage及其cell.addresss,并将其写入另一张纸上以查看结果。然后,我可以编写条件规则来更改消息和标题。继承别人以前的工作很有趣。谢谢Glenn,不是我所需要的,而是+1。如果有人知道这一切在工作簿中的存储位置,我仍然很好奇。
datatoo 2010年

您是否在询问它在BIFF8二进制文件中的存储位置?
dkusleika

我不确定它的存储方式或位置,因为任何给定的工作表中都有许多单元格区域。通常,我想要一种简单的方法来编辑存储的内容。您可以间接获得信息。
datatoo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.