【发布时间】:2020-02-06 03:48:36
【问题描述】:
Dim lastrow&, lastCol&, myarray As Range
lastrow = Range("A1").End(xlDown).Row
lastCol = Range("XX1").End(xlToLeft).Column
Set myarray = Range("A1").Resize(lastrow, lastCol)
Range("A1", myarray).Select
Selection.Copy
所以基本上,我正在尝试选择一个可能会有所不同的数组,我知道它从 A1 开始,但我不确定它将在哪一行和哪一列结束。上面的代码可以很好地帮助复制这个数组。
Application.CutCopyMode = False
Selection.Copy
Application.WindowState = xlNormal
Windows("macrofile.xlsm").Activate
Sheets("MRG").Select
'has to find the last row by itself
Range("A" & Rows.Count).End(xlUp).Offset(2, 0).Select
ActiveCell.PasteSpecial (xlPasteAll)
最后一行ActiveCell.PasteSpecial (xlPasteAll) 出现错误。
Error 1004, can't paste because copy area and paste area aren't the same
我尝试了不同的变体,包括 activesheet.paste 和 xlpastevalues,但均无济于事。
Range("A" & Rows.Count).End(xlUp).Offset(2, 0).Select 选择 A 列中的单个单元格以查找最后使用的行并将其偏移 2 行,以便我可以粘贴到现有数据下方。不知道为什么会出现错误 1004,因为复制选择数组并将其粘贴到 Excel 中的单个单元格中不会出现错误。
非常感谢任何帮助;我对 VBA 真的很陌生,大部分代码来自不同的在线来源。
【问题讨论】: