如何找到单元格的验证列表?

如何找到单元格的验证列表?

我有一个电子表格,它有验证规则,这样单元格就会显示有效答案的下拉列表。这些答案保存在电子表格的其他位置,但它们数量很多,名称复杂,并且工作表经常被隐藏。

我想在电子表格中找到存储这些有效答案的位置。

我如何浏览 Excel VBA 对象以从单元格中找到答案列表的位置?

答案1

您可以使用功能区中的“数据”>“数据验证”通过弹出对话框设置单元格的验证。如果您对已设置验证的单元格执行相同操作,则弹出窗口将显示之前设置的验证。

如果该验证是一个列表,则会显示列表的源范围,单击源范围旁边的小电子表格图标即可转到该列表。

答案2

Sub ShowValidValues()
    Dim oCell As Range
    Dim vValidation As Variant
    Dim vList As Variant
    Set oCell = ActiveCell
    On Error GoTo noval
    vList = oCell.Validation.Formula1
    If Left(vList, 5) = "=list" Then
        vList = Mid(vList, 2, 99)
        Dim oRange As Range
        Set oRange = Range(vList)
        Sheets(oRange.Parent.Name).Visible = True
        Sheets(oRange.Parent.Name).Activate
        oRange.Activate
    End If
noval:
    On Error GoTo 0
End Sub

这将从当前单元格中找到列表,使工作表可见,切换到它,并激活单元格范围。

相关内容