我有以下代码成功运行,但它必须在两个130k +行的数组上运行.完整数据集上的当前运行时间大约为24分钟,并且在一个点上添加了计数,它循环了98亿次.
我已阅读有关使用Match,Vlookup的文章,他们似乎都建议迭代循环(我已经使用过)是最快的方法,但是我无法理解如何让其他方法使用动态数组和因此适当地测试.
是否有人能够告诉我是否有更快的方法来完成此活动,如果有,请演示如何?
Sub TESTVLOOKUPARRAY()
Dim PSORG1() As Variant
Dim PSORG1Tot As Variant
Dim PSORG1RT As Variant
Dim PSORG2() As Variant
Dim PSORG2Tot As Variant
Dim PSORG2RT As Variant
Sheets("Sheet1").Select
PSORG2RT = Application.CountA(Range("A:A"))
PSORG2Tot = "A1:B" & PSORG2RT
PSORG2 = Range(PSORG2Tot) ' PSORG2 is now an allocated array
Sheets("Sheet2").Select
PSORG1RT = Application.CountA(Range("A:A"))
PSORG1Tot = "A1:B" & PSORG1RT
PSORG1 = Range(PSORG1Tot) ' PSORG1 is now an allocated array
a = 2 ' to increment ORG values in PSORG1
Do
Finish …Run Code Online (Sandbox Code Playgroud)