0
我有一个工作簿,其中包含一个包含14k行和36列的工作表。列24到36包含公式(ao find和vlookup公式)。Excel VBA减少自动筛选宏的处理时间
计算设置为手动。
我创建了一个测试宏,它在数据集上设置了自动过滤器,并且我包含了4个过滤条件(请参阅下面的代码)。奇怪的是,当我第一次运行这个宏时,它需要109秒的运行时间,第二次需要17秒,第三次和连续的时间约为0.3秒。我觉得这很奇怪。这怎么可能发生,我能做些什么来第一次获得0.3秒?
谢谢。
Sub test()
Dim ws As Worksheet
Dim ws As Worksheet
Dim rng As Range
Dim PG()
PG = Array(“441”, “445”, “446”, “447”)
Set ws = Worksheets(“Notificaties”)
ws.AutoFilterMode = False
Set rng = ws.Range(“A1”)
Set rng = ws.Range(rng, rng.End(xlToRight))
With rng
.AutoFilter
.AutoFilter Field:=4, Criteria1:=”TWAP*”
.AutoFilter Field:=29, Criteria1:=”<>*II*”
.AutoFilter Field:=30, Criteria1:=”TRUE”
.AutoFilter Field:=22, Criteria1:=PG, Operator:=xlFilterValues
End With
End Sub
尝试更换'标准1:用'标准1 = PG':=(PG)'。好点 ? –
@Johan;你可能想尝试https://codereview.stackexchange.com/这种类型的问题。如果代码正常工作并需要优化,那将是更理想的网站。 – Cyril