我对命名范围有一点问题。
我在不同的工作表上有多个命名范围。我想用 vba 隐藏或显示所有这些范围。命名范围的示例: r1_name1 。另一张纸上的第二个是 r1_name2。所以所有范围都以前面的相同代码开头: r1_ 。
我如何遍历以 r1_ 开头的所有范围并隐藏/或显示它们?
要遍历命名范围:
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
这是一个小代码,用于在包含特定字符串的工作簿中隐藏名称,在本例中为"_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