Ошибка времени выполнения ‘1004: ошибка вставки специального метода класса диапазона

#excel #vba

#excel #vba

Вопрос:

У меня возникает эта ошибка, когда я пытаюсь вставить объединенную ячейку в пределах диапазона («A1: Q20») с одного листа рабочей книги на другой лист другой рабочей книги в ячейку «F20», как показано в приведенном ниже коде.

 With ActiveWorkbook.Sheets("Data")
Range("A1:Q20").Copy
dataworkbook.Close
End With

With ActiveWorkbook.Sheets("Destination Data")
Range("F20").PasteSpecial xlPasteAll
End With
 

Однако это вставляет только значения, что не является моим намерением, я пробовал другие специальные типы вставок, такие как xlPasteAllUsingSourceTheme и т. Д., Но Эти типы возвращали бы ошибку ‘Ошибка времени выполнения’1004: ошибка вставки специального метода класса диапазона ‘.

Что могло вызвать эту ошибку в этом контексте?

Любой, как мне вставить нужные объединенные ячейки на другой лист другой книги точно так же?

Ответ №1:

With В данный момент ваши блоки фактически ничего не делают. Ваш код можно упростить до простого:

 ActiveWorkbook.Sheets("Data").Range("A1:Q20").Copy Destination:=Workbooks("other workbook name.xlsx").Sheets("Destination Data").Range("F20")
dataworkbook.Close