我希望加快我的代码的速度。我的代码包含一个双循环,首先循环遍历主表的头,然后在主数组和源头匹配时(通过遍历(嵌套))遍历源数组以粘贴源数据(源数组的列顺序会不时变化) )。 ATM我的代码会在8秒内以113列的形式导入1000行数据。
我进一步优化代码的想法是,在复制完值之后,删除嵌套循环中的匹配数组列,从而减少了为每个成功的循环交互搜索所需的数组头的数量。这可能吗?它将使我的代码运行得更快吗?
我主持了论坛,并考虑重新设置数组,但是我的数组范围声明为...
SourceWB.Sheets(1).UsedRange
...而且我想知道每次循环成功匹配头时如何排除数组头。
'Loop through master table headers
For x = 1 To MasterTable.HeaderRowRange.Count
'Loop through array headers and copy values to master
For i = LBound(ArrImport, 2) To UBound(ArrImport, 2)
If MasterTable.Range(1, x).Value = ArrImport(1, i) Then
MainWB.Sheets("Brdx").Range(Cells(h, x).Address, Cells(h + SourceTable.ListRows.Count - 1, x).Address).Value = _
SourceWB.Sheets(1).Range(SourceTable.ListColumns(i).DataBodyRange.Address).Value
Exit For
End If
Next i
Next x
提前谢谢