【发布时间】:2020-09-13 21:53:19
【问题描述】:
我想知道是否有一种干净的方法来评估单元内数据验证。它可以是长度检查或下拉列表等。
我可以使用以下代码轻松添加数据验证规则,验证单元格 A1 中的条目是否超过 5 个字符,但有没有办法从 VBA 内部对其进行评估?
With Cells(1,1).DataBodyRange.Validation
.Delete
.Add Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop, _
Operator:=xlLess, Formula1:="6"
.ErrorTitle = "Too Many Characters"
.ErrorMessage = "The maximum allowed number of characters For this field is 5"
.ShowError = TRUE
End With
【问题讨论】:
-
您能解释一下您想要实现的目标吗? “从 VBA 内部评估 [数据验证]”如何体现? DV用于数据输入。如果用户满足 DV 标准,则接受该条目。如果他们不这样做,则无法在单元格中确认该值。你想在那里用 VBA 做什么?它应该怎么做?
-
或者你想用VBA写你自己的数据验证?在这种情况下,请查看工作表更改事件。
-
当您设置单元格的验证时,Excel 会为该区域创建一个
Validation对象并设置该对象的属性。反过来,您可以读取现有验证对象的属性,例如Debug.Print Cell.Validation.Formula1
标签: excel vba validation