VBA使用activex复选框隐藏和取消隐藏行
有人能帮我提高效率吗?它大约运行10秒。多谢 我已经修改了这段代码,以隐藏工作表a列中公式结果中包含“hide”的行VBA使用activex复选框隐藏和取消隐藏行,vba,excel,hide,rows,Vba,Excel,Hide,Rows,有人能帮我提高效率吗?它大约运行10秒。多谢 我已经修改了这段代码,以隐藏工作表a列中公式结果中包含“hide”的行 Sub Hide_Rows() Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In .Range("a7:a115") If cell.Value = "Hide" Then cell.
Sub Hide_Rows()
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
With ActiveSheet
For Each cell In .Range("a7:a115")
If cell.Value = "Hide" Then
cell.EntireRow.Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
我有一个类似的Show_Rows sub,用于取消隐藏隐藏的行。我已将按钮结果(True或False)链接到单元格A1,然后使用If语句在复选框VBA中隐藏或显示_行
Private Sub CheckBox1_Click()
If Cells(1, 1).Value = True Then
Hide_Rows
Else
Show_Rows
End If
End Sub
你的问题可能与许多复杂的公式有关,如David Zemens所说。您对
应用程序.Calculation
的想法是正确的,但在开始时应该是Application.Calculation=xlCalculationManual
,然后在结束时是Application.Calculation=xlCalculationAutomatic
这对我来说不到1秒。除了在运行时重新计算一些非常复杂的工作表公式外,很难说是什么导致了您的延迟。我确实有一系列复杂的公式可能会导致性能问题。感谢您查看。请尝试在过程开始时禁用计算,然后在过程结束时重新启用。我能够做到这一点,非常感谢您做到了!谢谢你,库尔特。