如何从另一个工作簿复制动态范围的单元格,将其粘贴到另一个工作簿?

How to copy a dynamic range of cell from another workbook, paste it to another one?

每当第三方向我发送他输入的更新版本时,我都需要更新我的主文件。 因此,我需要将这个新输入的范围复制粘贴到我计算机上保存的工作簿中。如果 A 列中的值大于 0.For,则范围需要包括所有列和所有行,例如,在下图中,从 A1 到 A45。

我找到了一种方法 select 行并在第一个零处停止。我在我的代码 i 中调用的一侧放了一个 sumprodcut 公式。

现在,我有这个代码:

我在行 wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy 上有一个错误,我无法修复它...你有什么想法吗?

让我知道 :)

安托万

Sub CopyPaste()

    Dim wb1 As Workbook
    Dim wb2 As Workbook

    'Open Workbook from Pepper

    Set wb1 = Workbooks.Open("G:\Shared drives\Reporting\Power BI Source Files- DO NOT TOUCH\Pepper Automation\Accounts latest\Accounts updated\Accounts_latest.xlsx")

    'Copy Range (Column A to BW - all filled rows)
    Dim i As Integer
    i = Sheets("Accounts_latest").Range("CA1").Value
    wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy

    'Paste to worksheet in workbook2:
    Set wb2 = Workbooks("20200403 Selina - Loanbook V2.09 (1).xls")
    wb2.Activate
    wb2.Sheets("Pepper Accounts RAW").Range("A1:BW").PasteSpecial Paste:=xlPasteValues
    Range("A1").Select

    'Close workbook
    wb1.Close savechanges:=True
    Application.DisplayAlerts = True

End Sub

试试这个:

 wb1.Sheets("Accounts_latest").Range("A1:BW" & i).Copy

 wb1.Sheets("Accounts_latest").Range("A1","BW" & i).Copy

wb2.Sheets("Pepper Accounts RAW").Range("A1").PasteSpecial Paste:=xlPasteValues

wb2.Sheets("Pepper Accounts RAW").Range("A1:BW" & i).PasteSpecial Paste:=xlPasteValues

wb2.Sheets("Pepper Accounts RAW").Range("A1").Resize(i,1).PasteSpecial Paste:=xlPasteValues