我在100k项目的数组上运行以下算法(如果可能的话,我想将其扩展到1m)并面临性能问题。我想将处理时间缩短到几秒钟。我很确定第一个循环导致代码变慢。是否可以自动将数组洗牌250次,填充矩阵然后简单地粘贴它? - 而不是通过vba和excel之间的250个单独的连接。
For a = 0 To 249
For i = UBound(myArray , 1) To 1& Step -1&
NewRow= Int(Rnd() * i) + 1&
temp = myArray (i, 1)
myArray (i, 1) = myArray (NewRow, 1)
myArray(NewRow, 1) = temp
Next i
Range(Cells(1, a + 1), Cells(LastRow, a + 1)).Value = myArray
Next a
任何帮助表示赞赏!! 谢谢! 约翰