给定一个包含多个数据验证的工作表,我想写一段vba代码来查看这些范围。
我知道ActiveCell.SpecialCells(xlCellTypeAllValidation).Address
会返回所有范围的地址。例如,如果$A$1:$C$4
的验证类型为xlValidateWholeNumber
且$E$8:$G$9
的验证类型为xlValidateTextLength
,则ActiveCell.SpecialCells(xlCellTypeAllValidation).Address
会返回$A$1:$C$4, $E$8:$G$9
。然后我不知道如何操作此结果来研究$A$1:$C$4
然后$E$8:$G$9
,以打印范围及其验证细节(类型,ErrorTitle ...)。
有人能告诉我是否有分割Address
的结果的功能?
否则,是否有另一种方法可以完成所有数据验证?
答案 0 :(得分:0)
以下代码将提醒每个单独的“块”单元格:
Dim rng As Range, a as Range
On Error Resume Next
Set rng = ActiveCell.SpecialCells(xlCellTypeAllValidation)
On Error Goto 0
If Not rng Is Nothing Then
For Each a In rng.Areas
MsgBox a.Address(false,false)
Next a
Else
MsgBox "No validation found"
End If