我一直无法尝试优化我的代码的某个部分。我正在执行蒙特卡洛模拟,我想复制一个范围的值重复的次数。为此,我使用了For Each In结构。下面是一个简单的例子。For Each In:是否可以运行单列范围并粘贴多列,从第一个FOR单元格开始?
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
,其中XYZ
是先前定义的多个列和行的范围。但是,这是相当慢。
是否可以运行单列范围并粘贴多个列,从第一个单元格开始?
谢谢!我用.Columns(“A:N”)试了一下,但是你的建议有点快。 – jnam27 2012-04-29 01:33:48