小编VBA*_*azy的帖子

有没有更快的方法来比较VBA中动态数组之间的数据?

我有以下代码成功运行,但它必须在两个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)

arrays excel vba excel-vba

5
推荐指数
1
解决办法
1484
查看次数

标签 统计

arrays ×1

excel ×1

excel-vba ×1

vba ×1