gpt4 book ai didi

vba - 应用程序方法的单独子程序?

转载 作者:行者123 更新时间:2023-12-02 18:33:55 27 4
gpt4 key购买 nike

现在我正在编写一个稍微复杂的 Excel 工作簿网络,该网络几乎完全由 VBA 自动化驱动,因此需要编写大量宏。

我尝试尽可能禁用屏幕更新、警报和事件。为了节省一些时间和追踪我可能在哪里启用/禁用这些功能的麻烦,我编写了一个子例程,其中每个所需的设置作为参数传递,因此您可以在一行中设置您想要启用/禁用的内容代码(或者至少是这个想法)。

该子例程如下所示:

Sub AppToggles(Optional ScrUpdating As Boolean = False, _
Optional DispAlerts As Boolean = True, _
Optional Events As Boolean = False)

With Application
.ScreenUpdating = ScrUpdating
.DisplayAlerts = DispAlerts
.EnableEvents = Events
End With

End Sub

我使用Call AppToggles(True, True, True)(或任何所需的组合)从同一模块中的各种其他子例程调用它。

问题是,子例程似乎没有做任何事情。这是一个非常简单的例程,单步执行它并没有告诉我任何信息。将鼠标悬停在关键字上会显示每个开关都没有设置为传递的参数。

我可以为每个我想的语句设置一个 If 语句,但我很好奇我在哪里偏离了轨道:P

最佳答案

不要单步执行代码...正常运行或按 F5 运行

你的日常工作对我来说很好。

Sub TestMe()
Call AppToggles(False, False, False)
MsgBox "ScreenUpdating: " & Application.ScreenUpdating & vbCrLf & _
"DisplayAlerts: " & Application.DisplayAlerts & vbCrLf & _
"EnableEvents: " & Application.EnableEvents
Call AppToggles(True, True, True)
MsgBox "ScreenUpdating: " & Application.ScreenUpdating & vbCrLf & _
"DisplayAlerts: " & Application.DisplayAlerts & vbCrLf & _
"EnableEvents: " & Application.EnableEvents
Call AppToggles(True, True, True)
End Sub

关于vba - 应用程序方法的单独子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028704/

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