VBA使用相同的macrosbutton展开/折叠行

关于如何运行一个简单的macrosbutton,我们有一个微不足道的问题。 此button的目的有两个:扩展行和折叠行。

1按下此button,VBA命令启动:

Sub Macro7() Rows(7).ShowDetail = True End Sub 

该命令扩展了第7行。

2再次按下button(在行被展开的时候),这个VBA被启动:

 Sub Macro7() Rows(7).ShowDetail = False End Sub 

这崩溃了行。

有没有办法将一个button链接到两个macros?

提前致谢!!!

中号

 Sub Macro7() With Rows(7) .ShowDetail = Not .ShowDetail End With End Sub 

无需。 只需调整您的macros来检查您的行的当前状态(折叠或展开),并采取相应的行动:

 Sub ExpandOrCollapse() Rows(7).ShowDetail=IIF(Rows(7).ShowDetail,False,true) End Sub 

我尝试了以上的答案,并没有为我工作。 以下是可用的代码:

 Sub rowExpanded() Rows("7:7").Select Selection.EntireRow.Hidden = IIf(Selection.EntireRow.Hidden, False, True) End Sub 

尝试这个

 Dim rowExpanded As Boolean rowExpanded = Rows(7).ShowDetail If rowExpanded = True Then Rows(7).ShowDetail = False Else Rows(7).ShowDetail = True End If 

尝试使用命令button(ActiveX控件)。 使用button标题来标识切换状态。

 Private Sub CommandButton1_Click() If CommandButton1.Caption = "-" Then ActiveSheet.Outline.ShowLevels Rowlevels:=1, ColumnLevels:=1 JobDescriptionToggleButton.Caption = "+" Else ActiveSheet.Outline.ShowLevels Rowlevels:=8, ColumnLevels:=8 JobDescriptionToggleButton.Caption = "-" End If End Sub