Динамический диапазон для копирования между двумя книгами - PullRequest
0 голосов
/ 04 марта 2019

У меня проблема с созданием динамического диапазона для копирования между двумя рабочими книгами.Я создал следующий код, и когда я выполняю шаг за шагом код, я беру «Ошибка времени выполнения 1004» «Метод Диапазон объекта листа не пройден». Моя мысль состоит в том, чтобы создать динамический диапазон для книги с новыми данными, потому что все время меняетсяи единственная последняя ячейка с данными находится в столбце «D», затем разверните ее до столбца «S» и скопируйте ее в таблицу данных основной рабочей книги и снова найдите последнюю использованную ячейку в столбце D и сместите ее в столбец «A».Как можно выполнить эту задачу?

Sub CopyValuesToMaster()

Dim wsCopy As Worksheet
Dim wsDest As Worksheet

Dim RngAC1 As Range
Dim RngAC2 As Range
Dim NewRng As Range
Dim DestLastRow As Long

Set wsCopy = Workbooks("sl0032019.xls").Worksheets("Sheet1")
Set wsDest = Workbooks("Master-Braun.xlsx").Worksheets("Data")

DestLastRow = Cells(Rows.Count, "D").End(xlUp).Offset(1, -3).Row
CopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "D").End(xlUp).Row

Set RngAC1 = wsCopy.Range("A1")
Set RngAC2 = wsCopy.Range(Cells(Rows.Count, "D").End(xlUp).Offset(0, 15).Row)
Set NewRng = Range(RngAC1.Address & ":" & RngAC2.Address)

NewRng.Copy wsDest.Range("A" & DestLastRow)

End Sub

enter image description here

1 Ответ

0 голосов
/ 04 марта 2019

Попробуйте это.

Sub CopyValuesToMaster()

Dim wsCopy As Worksheet
Dim wsDest As Worksheet

Dim RngAC1 As Range
Dim RngAC2 As Range
Dim NewRng As Range
Dim DestLastRow As Long

Set wsCopy = Workbooks("sl0032019.xls").Worksheets("Sheet1")
Set wsDest = Workbooks("Master-Braun.xlsx").Worksheets("Data")

DestLastRow = wsDest.Cells(Rows.Count, "D").End(xlUp).Offset(1, -3).Row
CopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "D").End(xlUp).Row

With wsCopy
   Set RngAC1 = .Range("A1")
   Set RngAC2 = .Range("S" & .Cells(.Rows.Count, "D").End(xlUp).Row)
End With

Range(RngAC1, RngAC2).Copy wsDest.Range("A" & DestLastRow)

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