Копировать данные из одной рабочей книги в последнюю книгу последней строки - PullRequest
0 голосов
/ 17 марта 2019

Ниже приведен мой код для копирования данных из одной рабочей книги в другую, но он выдает ошибку:

индекс вне диапазона

Также этот код нескопируйте данные на целевой лист последней строки.

Sub CopyDataNEW()
    Dim sBook_t As Workbook
    Dim sBook_s As Workbook
    Dim wbPath_t As String
    Dim wbPath_s As String

    wbPath_t = "F:\TESt\DB_BA.xlsx"
    wbPath_s = "F:\TESt\PPC_BA.xlsm"

    Set sBook_s = Workbooks.Open(wbPath_s)
    Set sBook_t = Workbooks.Open(wbPath_t)

    sBook_s.Sheets("cstdata").Range("A2:EK2").Copy Destination:=sBook_t.Sheets("cstdatalist").Range("A2")
End Sub

1 Ответ

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

Отредактировал ваш код, должен работать:

Sub CopyDataNEW()
    Dim sBook_t As Workbook
    Dim sBook_s As Workbook
    Dim wbPath_t As String
    Dim wbPath_s As String
    Dim lRow2 as Long
    'make sure file destination is correct, file name is correct, and file extension is correct here
    'you will get subscript out of range error here if these are not accurate
    wbPath_t = "F:\TESt\DB_BA.xlsx"
    wbPath_s = "F:\TESt\PPC_BA.xlsm"

    Set sBook_s = Workbooks.Open(wbPath_s)
    Set sBook_t = Workbooks.Open(wbPath_t)
    'Find last row in paste workbook
    lRow2 = sBook_t.Sheets("cstdatalist").Range("A" & sBook_t.Sheets("cstdatalist").Rows.Count).End(xlUp).Row + 1
    'copy and paste
    sBook_s.Sheets("cstdata").Range("A2:EK2").Copy
    sBook_t.Sheets("cstdatalist").Range("A" & lRow2).Paste
    'clear clip board
    Application.CutCopyMode = False
    'clear objects
    Set sBook_s = Nothing
    Set sBook_t = Nothing

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