簡體   English   中英

區域大小不同時無法復制和粘貼

[英]cannot copy and paste when area size is not the same

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)

錯誤 1004,無法粘貼,因為復制區域和粘貼區域不同

我嘗試了不同的變體,包括 activesheet.paste 和 xlpastevalues 都無濟於事。

Range("A" & Rows.Count).End(xlUp).Offset(2, 0).Select選擇 A 列中的單個單元格以查找最后使用的行並將其偏移 2 行,以便我可以粘貼到現有的下方數據。 不知道為什么會出現錯誤 1004,因為復制選擇一個數組並將其粘貼到 Excel 中的單個單元格中不會運行任何錯誤。

任何幫助深表感謝; 我對 VBA 真的很陌生,大部分代碼來自不同的在線來源。

只要源數據沒有空白行或列,您就可以執行以下操作:

ActiveSheet.Range("A1").Currentregion.Copy _
  Workbooks("macrofile.xlsm").Sheets("MRG").Cells(Rows.Count, "A").End(xlUp).Offset(2,0)

假設粘貼的數據有空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM