Excel 展开和折叠组,导致用户必须单击两次

Excel 展开和折叠组,导致用户必须单击两次,excel,vba,Excel,Vba,我知道这有点吹毛求疵,但如果有解决办法,我想知道 在excel工作表中,第4行到第6行被分组,它们的总和显示在第7行 下面的按钮代码可以展开和折叠组。但是,我意识到,在使用了其中一个按钮之后,当我单击+或-手动展开或折叠该组(或任何其他组)时,需要单击2次(错误),而不是单击+或-符号上的1次(正确)。这让我相信,在按钮事件中可能需要处理另一个设置 Private Sub Btn_Collapse_Rows_Click() On Error Resume Next Rows("7:7

我知道这有点吹毛求疵,但如果有解决办法,我想知道

在excel工作表中,第4行到第6行被分组,它们的总和显示在第7行

下面的按钮代码可以展开和折叠组。但是,我意识到,在使用了其中一个按钮之后,当我单击+或-手动展开或折叠该组(或任何其他组)时,需要单击2次(错误),而不是单击+或-符号上的1次(正确)。这让我相信,在按钮事件中可能需要处理另一个设置

Private Sub Btn_Collapse_Rows_Click()
   On Error Resume Next
   Rows("7:7").EntireRow.ShowDetail = False
   On Error Goto 0
End Sub


有人知道这有没有解决办法吗?

好的,没关系。我想出来了。这是因为按钮仍然有焦点,第一次点击将焦点带回工作表,所以第二次点击实际上是点击了+或-。我通过添加

Range("A1").Select

在展开和折叠代码的末尾。

FYI,如果它是ActiveX按钮,您只需将其
TakeFocusOnClick
属性设置为
False
。谢谢Rory。非常有用的信息。
Range("A1").Select