【问题标题】:Excel Macro Data Transfer from One Workbook to AnotherExcel 宏数据从一个工作簿传输到另一个工作簿
【发布时间】:2018-05-29 15:29:26
【问题描述】:

您好,我创建了一个程序,它可以自动从网站上抓取数据并将其粘贴/格式化到 Excel 表格中。但是,我希望将这些数据传输到另一个 Excel 工作簿(一个已经存在的工作簿)。下面的宏将数据传输到另一个 Excel 工作簿,但它会不断地将传输的数据粘贴到之前已经传输的数据上。我怎样才能让它传输和粘贴从先前已传输数据下的下一个空白行开始的新数据。我在之前的帖子中看到:

LastRow = Target.Range("A10000").End(xlUp).Row + 1,

可以做到这一点,但我不确定如何在我已经拥有的宏生成的 vba 中实现这一行。有没有办法做到这一点而不必编写另一个 vba 模块来实现这个?感谢所有帮助!

子转帐()

Range("A2:G34").Select
Selection.Copy
Workbooks.Open Filename:= _
    "Book1.xlsx"
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Range("C6").Select

结束子

【问题讨论】:

标签: excel transfer vba


【解决方案1】:

所以我想通了,我没有使用宏录制,因为我无法让我的项目 100% 工作,但经过研究和反复试验,下面的代码也完全按照我想要的方式工作。这适用于传输两个不同的 Excel 工作簿或只是工作表!我希望这对某人有所帮助。

Sub Transfer()

Worksheets("Source data Sheet Name").Range("A2:G100").Copy
Workbooks.Open Filename:= _
"File Destination for target"

LastRow = Sheets("Target Sheet Name").Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.Paste Destination:=Worksheets("Target Sheet Name").Range("A" & LastRow)

ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

【讨论】: