小编Swe*_*pot的帖子

加快在Excel中循环遍历大型数据集

我有两个数据集,我需要比较和提取匹配.我有一个来自每个数据集中5列的复合键,结束了我需要提取的第6列.列由文本,日期和整数组成.两组都略低于500k行.

目前我在表a中使用for循环并在表b中循环.使用if参数将行与if语句进行比较以获取组合键.

Sub ArraySearch()

    Dim Main As Long
    Dim Search As Long
    Dim arrData() As Variant
    Dim arrSource As Variant

    arrData = Sheets("Sheet1").Range("H3:M500000").Value
    arrSource = Sheets("Ark1").Range("A3:H500000").Value

    Main = 1
    Search = 1

    For Main = 1 To UBound(arrSource, 1)

        For Search = 1 To UBound(arrData, 1)

            If arrSource(Main, 3) = arrData(Search, 1) And _
                arrSource(Main, 4) = arrData(Search, 2) And _
                arrSource(Main, 1) = arrData(Search, 3) And _
                arrSource(Main, 2) = arrData(Search, 4) And _
                arrSource(Main, 5) = arrData(Search, 5) …
Run Code Online (Sandbox Code Playgroud)

excel vba loops excel-vba

2
推荐指数
1
解决办法
350
查看次数

标签 统计

excel ×1

excel-vba ×1

loops ×1

vba ×1