浏览数据验证的地址范围

时间:2014-04-22 17:06:21

标签: vba excel-vba excel

给定一个包含多个数据验证的工作表,我想写一段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的结果的功能?

否则,是否有另一种方法可以完成所有数据验证?

1 个答案:

答案 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