Excel копирует данные из разных рабочих книг в одну рабочую книгу - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь вставить данные из разных рабочих книг в одну основную рабочую книгу. Пока что копирование и вставка данных работают, но когда я вставляю данные в рабочую книгу, после вставки каждой рабочей книги в основную рабочую книгу пропускаются строки. На рисунке ниже показана проблема. problem

2,3 и 6-12 пропускаются. Ниже мой код:

    Sub Macro1()
'
' Macro1 Macro
'
    Dim wb1 As Workbook
    Set wb1 = ThisWorkbook

Path = "C:\Users\Tester\Documents\test\"
Filename = Dir(Path & "*.xls")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Rows("2:" & Range("A1").End(xlDown).Row).copy _
        wb1.Sheets(1).Range("A" & Range("A1").End(xlDown).Row + 1)
    Application.CutCopyMode = False
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub

Я думаю, что проблема как-то связана с этой строкой "wb1.Sheets (1) .Range (" A "& Range (" A1 "). End (xlDown) .Row + 1) "но я не уверен, как это исправить. Какие-либо предложения? Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

Вы определяете только диапазон, в который хотите скопировать, но внутри него команда Range("A1").End(xlDown).Row файл еще не указан, поэтому Excel получит активный файл.

Попробуйте изменить пункт назначения на

wb1.Sheets(1).Range("A" & wb1.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)

Ваш код будет выглядеть как

Sheet.Rows("2:" & Range("A1").End(xlDown).Row).copy 
     _ wb1.Sheets(1).Range("A" & wb1.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...