gpt4 book ai didi

vba - 将数据从一个电子表格复制到另一个

转载 作者:行者123 更新时间:2023-12-04 20:40:49 24 4
gpt4 key购买 nike

我正在尝试将数据从一个电子表格复制到另一个电子表格(其中已经有数据)。我需要(从源电子表格)将所有填充的单元格复制到目标电子表格中的 B 列但在最后一行(不覆盖现有数据)

这是我到目前为止所拥有的,但这并不完全是我所需要的,并且抛出一个错误说:

object required



在这一行: Last_Row = Range("A" & Rows.Count).End(xlUp).Row)
我正在尝试在 中执行此操作.VBS 文件
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Open("D:\Test2.xlsx")
Set objWorksheet = objWorkbook.Worksheets("Sheet 2")

Set objRange = objWorksheet.Range("A5:D5")
objRange.Copy

'destination spreadsheet stuff:
Set objExcel2 = CreateObject("Excel.Application")
objExcel2.Visible = True
Set objWorkbook2 = objExcel.Workbooks.Open("D:\Test1.xlsx")
Set objWorksheet2 = objWorkbook2.Worksheets("Sheet1")

Last_Row = Range("A" & Rows.Count).End(xlUp).Row
objWorksheet2.Range("B" & Last_Row).Activate
objWorksheet2.Paste

最佳答案

我改了Last_RowNext_Row因为,您需要粘贴在数据之后的下一行(因此是 + 1 )。

并摆脱了第二个 Excel 实例,因为在两个实例之间粘贴非常有限,并且在编程上非常低效!

所以这应该工作得很好:

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Open("D:\Test2.xlsx")
Set objWorksheet = objWorkbook.Worksheets("Sheet 2")

Set objRange = objWorksheet.Range("A5:D5")
objRange.Copy

'destination spreadsheet stuff:
Set objWorkbook2 = objExcel.Workbooks.Open("D:\Test1.xlsx")
Set objWorksheet2 = objWorkbook2.Worksheets("Sheet1")

Next_Row = objWorksheet2.Range("B" & objWorksheet2.Rows.Count).End(xlUp).Row + 1
objWorksheet2.Range("B" & Next_Row).Paste

关于vba - 将数据从一个电子表格复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com