我有一些代码可以在工作表1的单元格中查找数据并将其多次粘贴,一次一个单元格,粘贴到另一个工作表的单元格中。哪个有效,预计需要相当长的时间并经常冻结电脑。当然,有一种方法可以将这些数据一次粘贴到所有指定的单元格中,或者至少是其他一些优化方式?任何帮助表示赞赏。
Dim sourcerange4 As Integer
Dim offset4 As Integer
Dim qproc As Integer
qproc = 1
sourcerange4 = 1
offset4 = 3
SourceRange3 = 1
Offset3 = 3
Do Until qproc = SourceRange * QuestRange
qproc = qproc + 1
Sheets(SourceSheet).Select
Cells(SourceRange3, Offset3).Copy
Sheets(RawData).Select
Do Until Cells(sourcerange4, offset4) = ""
sourcerange4 = sourcerange4 + 1
Loop
Sheets(RawData).Select
Cells(sourcerange4, offset4).Select
ActiveSheet.Paste
Loop
答案 0 :(得分:0)
根据您在文字中描述的内容,可以使用Resize
方法完成此操作,因为您似乎在循环行以粘贴值。
我尽可能地使用了您的参考资料,并尝试按原样合并您的代码,但这有点令人困惑,因此您可能需要进行一些调整,但从概念上讲,它应该就是全部。< / p>
Dim sCopyValue as String
sCopyValue = Sheets(SourceSheet).Cells(SourceRange3, Offset3).Value
Dim iCopyRows as Integer
iCopyRows = SourceRange * QuestRange
Sheets(RawData).Cells(sourcerange4,offset4).Resize(iCopyRows,1).Value = sCopyValue