[英]Speed up the VBA code
Do you know how I could speed up the running of the following VBA code? 您知道如何加快以下VBA代码的运行速度吗? I've tried browsing online but there might be something else I'm missing here. 我已经尝试过在线浏览,但是这里可能还缺少其他内容。 It is a simple script and I'm surprised it takes a bit of time to run it. 这是一个简单的脚本,令我惊讶的是它花了一些时间来运行。 Thanks 谢谢
Sub ExistingRecord()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Dim ButtonName As Variant
Dim ButtonNames As Variant
ButtonNames = Array("ButtonUpdateExisting", "ButtonAddNew", "ClearForm")
Rows("2").Select
Selection.EntireRow.Hidden = False
Rows("3:22").Select
Selection.EntireRow.Hidden = True
Range("D2").Select
For Each ButtonName In ButtonNames
ActiveSheet.Buttons("ButtonUpdateExisting").Visible = True
ActiveSheet.Buttons("ButtonAddNew").Visible = False
ActiveSheet.Buttons("ClearForm").Visible = True
Next ButtonName
ClearDataEntry
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
End Sub
Without looking at ClearDataEntry
, it's difficult to see where this is slowing down. 如果不查看ClearDataEntry
,就很难知道它在哪里减速。 But the code above can be reduced to the following which should be quicker: 但是上面的代码可以简化为以下代码:
Sub ExistingRecord()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Rows("2").EntireRow.Hidden = False
Rows("3:22").EntireRow.Hidden = True
ActiveSheet.Buttons("ButtonUpdateExisting").Visible = True
ActiveSheet.Buttons("ButtonAddNew").Visible = False
ActiveSheet.Buttons("ClearForm").Visible = True
ClearDataEntry
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.