2013-08-29 73 views
0

我对命名范围有点问题。VBA Excel选择以字符开头的命名范围

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

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

回答

0

要遍历指定范围:

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 
+0

谢谢!我忘记了LCase选项 – bob