Excel VBA:当我点击一组行旁边的+

当我点击一组行旁边的+时,我如何获得它来隐藏分组行之外的一行。

我试过,但没有奏效。

Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Rows(11).Hidden = True) Then Rows(22).EntireRow.Hidden = False Else Rows(22).EntireRow.Hidden = True End If End Sub 

简单地隐藏或取消隐藏行不会触发事件,要使用此事件,您必须更改单元格值。

编辑#1

几乎可以通过Worksheet_SelectionChange事件得到你想要的。

展开或折叠包含单元格A11的行组,然后单击工作表中的任何位置,第22行也将展开/折叠。 把下面的标准模块:

 Public Sub IsHiddenA11() With Range("A11") If .EntireRow.Hidden Then Range("A22").EntireRow.Hidden = True Else Range("A22").EntireRow.Hidden = False End If End With End Sub 

并把它放在工作表代码区:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEvents = False Call IsHiddenA11 Application.EnableEvents = True End Sub