【发布时间】:2017-05-28 09:06:03
【问题描述】:
我正在处理一个模板部分,其中需要我从不同的工作表中复制和粘贴具有相同列数的多行值并将它们附加在一起(即在工作表 1 中复制值,在工作表 10 中粘贴,复制表 2 中的值,粘贴到表 10 中,但在从表 1 复制的值的最后一行之后,依此类推)。我通常使用
范围(选择,Selection.End(xlDown)).Select
Range(Selection,Selection.End(xlToRight)).Select
复制数据。
然后我使用 do while 语句查找目标工作表的最后一行(即工作表 10)并将其粘贴到那里:
Range("A6").Select Do While ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
但如果其中一张源表只有一行,我就会遇到问题。它将行和其后的所有空行复制到 excel 的底行,因此,excel 由于其大小而无法将其粘贴到目标工作表。有更好的方法吗?
【问题讨论】:
-
Range(Selection, Cells(Rows.Count, Selection.Column).End(xlUp)).Select将是选择初始行集的更好方法,但请阅读有关how to avoid using Select的答案 -
您要复制的范围是什么样的? A 列通过什么?
-
A 到 N 列