0

我对命名范围有一点问题。

我在不同的工作表上有多个命名范围。我想用 vba 隐藏或显示所有这些范围。命名范围的示例: r1_name1 。另一张纸上的第二个是 r1_name2。所以所有范围都以前面的相同代码开头: r1_ 。

我如何遍历以 r1_ 开头的所有范围并隐藏/或显示它们?

4

2 回答 2

2

要遍历命名范围:

Sub tgr()

    Dim NamedRange As Name

    For Each NamedRange In ActiveWorkbook.Names
        If LCase(Left(NamedRange.Name, 3)) = "r1_" Then
            MsgBox NamedRange.Name & Chr(10) & _
                   Range(NamedRange.RefersTo).Address(External:=True)
        End If
    Next NamedRange

End Sub

要隐藏/取消隐藏它们:

Range(NamedRange.RefersTo).EntireRow.Hidden = True 'or False
于 2013-08-29T14:56:04.563 回答
0

这是一个小代码,用于在包含特定字符串的工作簿中隐藏名称,在本例中为"_Filter". 当我有一次进行特定搜索时,我取消了工作簿中所有命名范围的隐藏。删除我不再想要的名称后,我想重新隐藏与过滤器相关的名称。

Sub HideNames_Filter()

Dim nName As Name

    For Each nName In ActiveWorkbook.Names
        If InStr(nName.Name, "_Filter") Then
            nName.Visible = False
        End If
    Next

End Sub
于 2021-10-05T23:34:42.307 回答