我有两个数据集,我需要比较和提取匹配.我有一个来自每个数据集中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)