有没有办法来操纵VBA中的数据validation中的每个项目?

我试图在VBA中做一个循环函数来select数据validation(22项)中的每个项目,并根据项目名称在报表上复制和粘贴。

我试图通过select不同的数据validation项目来查看语言,但没有注册。 有没有办法来操纵VBA中的数据validation中的每个项目?

两种forms的DV。 一个使用如下单元格的列表:

在这里输入图像说明

另一个使用内部逗号分隔的列表,如:

在这里输入图像说明

这段代码将处理以下任一forms:

 Sub IsDV() Dim s As String, r As Range, rng As Range s = "NO DV" On Error Resume Next With ActiveCell s = .Validation.Formula1 On Error GoTo 0 End With If s = "NO DV" Then MsgBox s Exit Sub End If If Left(s, 1) = "=" Then Set rng = Range(Mid(s, 2)) For Each r In rng MsgBox r.Value Next r Exit Sub End If ary = Split(s, ",") For Each a In ary MsgBox a Next a End Sub 

编辑#1:

如图所示, Formula1创build一个string。 如果该string以=符号开始,那么string的其余部分就是Address 。 所以我放弃了=符号并做出了一个范围。 知道范围让我抓住物品