Копировать с одного листа на другой плюс последний ряд - PullRequest
0 голосов
/ 23 ноября 2018

У меня 28 электронных таблиц, все в разных папках.У каждой электронной таблицы есть плоский список, который мне нужно вытащить в один документ и обновлять его каждые 4 недели.

Я написал приведенный ниже макрос, который я планирую встроить в каждую электронную таблицу, чтобы скопировать его в «Planned Loads.xlsx».Мне нужно, чтобы вставить в последний ряд.Я попробовал несколько вещей и не могу заставить его работать.

Sub Copy_PlannedLoads()
'
' Copy_PlannedLoads Macro
'
Dim x As Workbook
Dim y As Workbook
Dim Last_Row As Long

'## Open both workbooks first:
Set x = ActiveWorkbook
Set y = Workbooks.Open("C:\Users\peterha\Google Drive\Athlete Development Team\Sport Science\PDMS Data\Planned Load.xlsx")

'Now, copy what you want from x:
x.Sheets("Trimp Load Data NEW").Range("PlannedLoad").Copy

'Now, paste to y worksheet:
y.Sheets("Sheet1").Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Last_Row = Range("A" & Rows.Count).End(xlUp).Row

'Close y:
y.Close

End Sub

1 Ответ

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

Использовать вариант массива проще.

Sub Copy_PlannedLoads()
    '
    ' Copy_PlannedLoads Macro
    '
    Dim vDB As Variant
    Dim x As Workbook
    Dim y As Workbook
    Dim rngT As Range
    Dim Last_Row As Long

    '## Open both workbooks first:
    Set x = ActiveWorkbook
    vDB = x.Sheets("Trimp Load Data NEW").Range("PlannedLoad")
    Set y = Workbooks.Open("C:\Users\peterha\Google Drive\Athlete Development Team\Sport Science\PDMS Data\Planned Load.xlsx")

    'Now, copy what you want from x:
    'x.Sheets("Trimp Load Data NEW").Range("PlannedLoad").Copy

    'Now, paste to y worksheet:
    Set rngT = y.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp)(2)
    rngT.Resize(UBound(vDB, 1), UBound(vDB, 2)) = vDB

    'Close y:
    y.Close

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