提问人:CodingDonut 提问时间:11/16/2023 最后编辑:CodingDonut 更新时间:11/16/2023 访问量:31
在VBA(excel)中组合隐藏和显示分组数据的makros
Combining hide and show makros for grouped Data in VBA( excel)
问:
刚在Excel中启动VBA,我想创建一个结合两个功能的Makro, 这些是在单击链接的 Button 时折叠和展开分组的数据行。 我让 makros 单独运行,但现在我想将它们组合成一个 Makro,我可以将其签名给一个按钮,单击该按钮时会检查 ShowDetail 属性的 True/False 状态并分别覆盖状态。
Sub Expand1()
Rows(2).EntireRow.ShowDetail = True
End Sub
Sub Collapse1()
Rows(2).EntireRow.ShowDetail = False
End Sub
我尝试使用 If Then Logic,但是当我执行以下代码时,Excel 会吐出运行时错误 1004:“ showDetail 属性无法更改。
Sub Colland()
If Rows(2).EntireRow.ShowDetail = True Then
Rows(2).EntireRow.ShowDetail = False
Else: Rows(2).EntireRow.ShowDetail = True
End If
End Sub
我猜我无法更改属性状态,因为它是正在检查的属性。但实际上,我相当无知。任何帮助将不胜感激
答:
1赞
CodingDonut
11/16/2023
#1
多亏了善意的评论,我才能够让 makro 正确执行 我还修改了代码以针对活动单元格而不是特定行,并将其与单击一系列单元格时触发的代码相结合。
Sub Colland()
If ActiveCell.EntireRow.ShowDetail = True Then
ActiveCell.EntireRow.ShowDetail = False
Else: ActiveCell.EntireRow.ShowDetail = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("A4:A85")) Is Nothing Then
Call Colland
End If
End If
End Sub
这非常适合我的预期目的,因为我正在处理 A4 和 A85 之间的多组数据。谢谢@Paul
评论
-
+