gpt4 book ai didi

vba - VBA 宏运行时关闭 "everything"

转载 作者:行者123 更新时间:2023-12-04 21:15:29 27 4
gpt4 key购买 nike

我有一个 VBA 宏代码。它的主要目的是将数据从一个工作簿复制到另一个工作簿;只是行在变化。宏足够快,直到我在目标工作表上进行了一些条件格式设置。

我的问题是是否有任何方法可以在宏运行时禁用 Excel 中的每个侧面操作?现在我禁用了这些:

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False

但我认为我可以关闭更多以使其更快。有什么建议么?

最佳答案

您可以在标准模块上有以下两个代码...

Sub TurnEverythingOff()
With Application
.Calculation = xlCalculationManual
.EnableEvents = False
.DisplayAlerts = False
.ScreenUpdating = False
End With
End Sub

Sub TurnEverythingOn()
With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub

然后你可以在你的子例程中调用它们,如下所示......
Sub YourMacro()
'variable declaration section

TurnEverythingOff
On Error GoTo Skip 'if an error occurs, this makes sure that everything is turned on back
'other stuff here

Skip:
TurnEverythingOn
End Sub

就条件格式而言,请确保不要将其应用于未使用的范围,即不引用条件格式公式中的整行或整列。换句话说,将其限制在工作表上有数据的范围内。

关于vba - VBA 宏运行时关闭 "everything",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43801793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com