5

关于如何运行一个简单的宏按钮,我们有一个小问题。此按钮的用途有两个:展开一行和折叠一行。

1在按下按钮时启动此 VBA 命令:

Sub Macro7()

Rows(7).ShowDetail = True

End Sub

此命令扩展第 7 行。

2再次按下按钮(同时扩展行),此 VBA 被启动:

Sub Macro7()

Rows(7).ShowDetail = False

End Sub

这会折叠该行。

有没有办法将一个按钮链接到两个宏?

提前致谢!!!

4

5 回答 5

10
Sub Macro7()  
    With Rows(7)
        .ShowDetail = Not .ShowDetail
    End With
End Sub 
于 2012-10-12T17:30:30.580 回答
5

无需。只需调整宏以检查行的当前状态(折叠或展开)并采取相应措施:

Sub ExpandOrCollapse()

Rows(7).ShowDetail=IIF(Rows(7).ShowDetail,False,true)

End Sub
于 2012-10-12T17:03:23.770 回答
2

我尝试了上述答案,但对我不起作用。以下是有效的代码:

Sub rowExpanded()

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

End Sub
于 2013-09-23T18:00:32.547 回答
0

尝试这个

Dim rowExpanded As Boolean
rowExpanded = Rows(7).ShowDetail

If rowExpanded = True Then
    Rows(7).ShowDetail = False
Else
    Rows(7).ShowDetail = True
End If
于 2012-10-12T17:04:30.020 回答
0

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

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
于 2016-06-20T01:39:55.057 回答