你好,我是VBA和stackoverflow的新手。運行時錯誤'1004'ActiveSheet.Paste到表失敗
我的程序只是選擇Table1並將其複製到Table2的末尾。代碼如下。
Sub c_p()
Application.Goto Reference:="Table1"
Selection.Copy
Application.Goto Reference:="Table2"
Selection.End(xlToRight).Select
Selection.End(xlDown).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=False
ActiveSheet.Paste
End Sub
當我運行程序,它提供了 「運行時錯誤 '1004'」。在此行中的錯誤:
ActiveSheet.Paste
據我所知,有更好的方法去這比使用的選擇,雖然這些都是對我有意思我也想知道這個問題的原因。
謝謝你的幫助。
我沒有在時刻訪問Excel和能想到的一些東西,嘗試改變.Paste到.PasteSpecial xlPasteValues。這是關於引用表的很好的參考/指南。 https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables –
是不是受保護的工作表? –
粘貼前你不需要指定範圍嗎?那麼'Activesheet.Selection.Paste'呢? (另外,最好[避免使用'.Activate' /'.Select'](https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) – BruceWayne