Здравствуйте, я новичок в VBA и stackoverflow.Ошибка времени выполнения '1004' ActiveSheet.Paste в таблицу с ошибкой
моя программа просто выбирает таблицу 1 и копирует ее в конец таблицы2. Код выглядит следующим образом.
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