gpt4 book ai didi

vba - 为什么一个小的 Excel VBA 宏运行速度非常慢

转载 作者:行者123 更新时间:2023-12-02 09:11:41 30 4
gpt4 key购买 nike

我正在编写一个简短的宏来隐藏当前年度没有当前销售额的所有客户。 YTD 销售额位于 K 列中(具体为 K10-250)。这些单元格使用 vlookup 从我们转储数据的另一个选项卡中提取数据。我的问题是为什么这个宏需要 10-15 分钟才能运行?我在另一个电子表格上有一个类似的宏,只需 2-3 分钟即可处理 1,500 多行。我已经关闭了屏幕更新。我想不出还有什么可以加快速度。

   Sub HideNoSlackers()
'
' HideNoSlackers Macro
'

'
Application.ScreenUpdating = False
'
Sheets("CONSOLIDATED DATA").Select
Dim cell As Range
For Each cell In Range("K10:K250")
If cell.Value = 0 Then
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
Next
End Sub

最佳答案

您可能希望在隐藏行之前将计算设置为手动?您还可以删除案例中的 If 语句。试试这个:

Sub HideNoSlackers()
Dim cell As Range, lCalcState As Long

Application.ScreenUpdating = False
' Record the original Calculation state and set it to Manual
lCalcState = Application.Calculation
Application.Calculation = xlCalculationManual
For Each cell In ThisWorkbook.Worksheets("CONSOLIDATED DATA").Range("K10:K250")
cell.EntireRow.Hidden = (cell.Value = 0)
Next
' Restore the original Calculation state
Application.Calculation = lCalcState
Application.ScreenUpdating = True ' Don't forget set ScreenUpdating back to True!
End Sub

关于vba - 为什么一个小的 Excel VBA 宏运行速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18905724/

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