2015-04-23 139 views
-1

我需要在单击范围时隐藏和取消隐藏行。单击给定范围内的单元格时隐藏/取消隐藏行

这里有范围和各行:

范围( “A1:L1”) 行( “2:11”)

范围( “A12:L12”) 行(“13 :23 “)

范围(” A24:L24 “) 行(” 25:34" )

我无法找到代码这种情况。任何援助表示赞赏。

+0

谷歌“Worksheet_SelectionChange()事件” –

+0

我需要看到一个例子至少两个范围的选择,如果然后隐藏相应的行(或取消如已隐藏)。 – John

+0

谷歌搜索的第一个结果显示了在VBA中使用该事件的示例。 StackOverflow的想法是,如果您有编程问题,我们将帮助您 - 但您必须展示您为自己研究并尝试的内容。没有人会为你编写代码。 –

回答

0

也许我会使用这种情况下的分组,而不是VBA宏。但是,此代码添加到您的工作表类:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Not Rows("2:11").Hidden Then Rows("2:11").Hidden = True 
    If Not Rows("13:23").Hidden Then Rows("13:23").Hidden = True 
    If Not Rows("25:34").Hidden Then Rows("25:34").Hidden = True 

    Select Case True 
     Case Not Intersect(Target, Range("A1:L1")) Is Nothing 
      Rows("2:11").Hidden = False 

     Case Not Intersect(Target, Range("A12:L12")) Is Nothing 
      Rows("13:23").Hidden = False 

     Case Not Intersect(Target, Range("A24:L24")) Is Nothing 
      Rows("25:34").Hidden = False 
    End Select 
End Sub 
+0

谢谢,我没有想过使用select case。 – John

相关问题