Не могу понять, почему метод PasteSpecial класса range не удался [Код ошибки 1004] - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь вставить данные из другой рабочей книги в рабочую книгу, в которую я записываю макрос:

Dim excel As excel.Application
Dim wb As excel.Workbook
Dim wb1 As excel.Workbook
Dim sht As excel.Worksheet

Set excel = CreateObject("excel.Application")
excel.Visible = False

Set wbAxes = Workbooks.Open("PATH")

Set wb = excel.Workbooks.Open("PATH")
'wb.Calculate
Set wb1 = excel.Workbooks.Open("PATH")
wb.Worksheets("MySheet1").Calculate

wb.Worksheets("MySheet1").Range("N7:P" & wb.Worksheets("MySheet1").Range("P5").CurrentRegion.Rows.Count).Copy
ThisWorkbook.Sheets("MYSheet").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

wb.Close SaveChanges:=False
wb1.Close SaveChanges:=False

Но я сталкиваюсь с проблемой 1004: «Сбой метода PasteSpecial класса диапазона»

Конечно, данные копируются, потому что, когда я нажимаю "CTRL + V" , они аккуратно вставляют данные , но вставляют благодаря отображению макроса

Ошибка 1004: Ошибка метода PasteSpecial для класса диапазона

РЕДАКТИРОВАНИЕ:

Когда я пытаюсь использовать .Paste (код ниже), а не .PasteSpecial Я получил:

Ошибка 438: объект не поддерживает свойство или метод

Dim excel As excel.Application
Dim wb As excel.Workbook
Dim wb1 As excel.Workbook
Dim sht As excel.Worksheet

Set excel = CreateObject("excel.Application")
excel.Visible = False

Set wbAxes = Workbooks.Open("PATH")

Set wb = excel.Workbooks.Open("PATH")
'wb.Calculate
Set wb1 = excel.Workbooks.Open("PATH")
wb.Worksheets("MySheet1").Calculate

wb.Worksheets("MySheet1").Range("N7:P" & wb.Worksheets("MySheet1").Range("P5").CurrentRegion.Rows.Count).Copy
ThisWorkbook.Sheets("MYSheet").Range("A1").Paste

wb.Close SaveChanges:=False
wb1.Close SaveChanges:=False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...