VBa Copy error "Мы не можем вставить, потому что область копирования и вставки не одинакового размера" - PullRequest
0 голосов
/ 10 ноября 2018

Пожалуйста, помогите мне отладить этот код.Я составляю отчет из 100 файлов.Этот код работает почти для всех файлов, но для некоторых появляется эта ошибка.Формат всех файлов одинаков, отличается только количество строк

sh.Range("A2:H" & lastRow).Copy 
Destination:=wb1.Worksheets("MainSheet").Range("A" & mainrow)

A2&last row = A2:H17408
"A" & mainrow=A1033559

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

ваш код слишком ограничен, чтобы быть уверенным в 100% правильном ответе, так как мы не видим, как вы определили свои переменные. Однако, если они правильно определены, лучше использовать это:

Dim ws as worksheet
Set ws = wb1.Sheets("MainSheet")

' Range goes from columns A to H with mainrow and LastRow as variable rows
ws.Range(ws.Cells(mainrow, 1), ws.Cells(LastRow, 8)).Value = sh.Range(sh.Cells(mainrow, 1), sh.Cells(LastRow, 8)).Value

вместо копирования-вставки. Кроме того, убедитесь, что mainrow и LastRow определены правильно. Если вы сомневаетесь, добавьте эту часть своего кода в отредактированный вопрос, чтобы мы могли взглянуть на него.

0 голосов
/ 10 ноября 2018

Существует несколько причин появления этого сообщения об ошибке 1. При вставке объединенных ячеек в не объединенные ячейки или наоборот.2. Когда вы применили фильтр к листу и попытались вставить, размер которого не совпадает с размером копируемых данных.

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