vba更快的性能数组洗牌算法

时间:2018-01-10 19:02:39

标签: arrays vba algorithm matrix

我在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

任何帮助表示赞赏!! 谢谢! 约翰

0 个答案:

没有答案