繁体   English   中英

将动态范围复制到其他工作簿中

[英]Copying Dynamic Range into a Different Workbook

我目前正在尝试将动态范围从一个工作簿复制并粘贴到另一个工作簿,以刷新现有的仪表板。

我已经开发了下面的代码,但是在下面的斜体部分继续收到错误通知:

Sub TransferData()

    Dim x As Workbook
    Dim y As Workbook

    Set x = Workbooks.Open("C:\file1.xlsx")
    Set y = Workbooks.Open("C:\file2.xlsx")
    Set StartCell = Range("A1")    

    finalrow = x.Sheets("Worksheet Name").Cells(Rows.Count, 2).End(xlUp).Row
    'Counts
    FinalColumn = x.Sheets("Worksheet Name").Cells(1,
    Columns.Count).End(xlToLeft).Column

    *x.Sheets("Worksheet Name").Range(StartCell, Cells(FinalRow,
    FinalColumn)).Copy*
    y.Sheets("Worksheet Name").Range(Cells(1, 7), Cells(FinalRow,
    FinalColumn)).Paste

End Sub

您必须声明工作表,它也是单元格的“父级”。 像这样:

With x.Sheets("Worksheet Name")
    .Range(StartCell, .Cells(finalrow, FinalColumn)).Copy
End With

With y.Sheets("Worksheet Name")
    .Range(.Cells(1, 7)).PasteSpecial xlPasteAll
End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM