我有一個excel電子表格(sheet2),記錄數大概在100萬左右。我正在迭代這些記錄,對於每次迭代,我都將一列選定列與另一個大約2000個記錄(位於sheet1中)的範圍進行比較。使用Excel宏在excel範圍內找到一行的最快方法VBA
rangeA = 1 Million rows 'Sheet2
rangeB = 2000 rows 'Sheet1
With sheet1
For Each row In rangeA.Columns.Rows
For Each rangeBRow In rangeB.Columns.Rows
If (.Cells(rangeBRow.Row,1).Value = CName And .Cells(rangeBRow.Row,2).Value = LBL ...) Then
' Do something cool... set some cell value in sheet2
Exit For
End If
Next rangeBRow
Next row
End With
我上面的代碼的問題是,它是永恆的完成執行。除了爲2000行重複一百萬條記錄之外,還有其他一些最快捷的方法可以在Excel宏中查找一系列行嗎?
謝謝你的時間。
負載萬事成數組,然後比較參考,而不是範圍 – 2014-03-27 11:04:34
大。將嘗試,並回到這裏 –
創建一個字典對象,並使用這兩個標識符作爲關鍵字(連接它們以創建一個複合值)從1M行中加載它。 –