我在尝试优化代码的某个部分时遇到了麻烦。我正在执行蒙特卡洛模拟,我想复制一个范围的值重复多次。为此,我使用了 For Each In 结构。下面是一个最小的例子。
sub example()
Dim live As Excel.Range 'the range to be copied in each For Each In
Dim acell as Excel.Range 'For range
Set live = Range("C5:P5")
For Each acell in Range("B9:B90")
acell.value=live.value
Next acell
End Sub
问题是live
跨越多列,而acell
只有一个单元格;最终发生的只是第一列被复制,其余的都是空白的。我还使用了For Each acell in XYZ.rows
whereXYZ
是先前定义的多列和多行范围。但是,这要慢得多。
是否可以从第一个单元格开始遍历单列范围并粘贴多列?