Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
229 views
in Technique[技术] by (71.8m points)

Excel VBA: When I click the + beside a group of rows

When I click the + beside a group of rows, how do I get it to hide a row outside of the grouped rows.

I tried this but it didn't work.

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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Simply hiding or un-hiding a row will not trigger the Event, To use this Event, you must change a cell value.

EDIT#1

You can almost get what you want with the Worksheet_SelectionChange event.

Expand or collapse the Group of rows containing cell A11 and then click anywhere in the worksheet and row #22 will also expand/collapse. Put the following in a standard module:

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

and put this in the worksheet code area:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...