gpt4 book ai didi

vba - 如何从另一个工作簿(excel)复制数据?

转载 作者:行者123 更新时间:2023-12-02 06:10:14 26 4
gpt4 key购买 nike

我已经有一个可以创建工作表和其他一些东西的宏。创建工作表后,我是否想调用另一个宏,将数据从第二个 Excel(其打开)复制到第一个事件 Excel 文件。

首先,我想复制到标题,但我无法让它工作 - 不断出现错误。

Sub CopyData(sheetName as String)
Dim File as String, SheetData as String

File = "my file.xls"
SheetData = "name of sheet where data is"

# Copy headers to sheetName in main file
Workbooks(File).Worksheets(SheetData).Range("A1").Select # fails here: Method Select for class Range failed
Workbooks(File).Worksheets(SheetData).Range(Selection, Selection.End(xlToRight)).Select
Workbooks(File).Worksheets(SheetData).Selection.Copy ActiveWorkbook.Sheets(sheetName).Cells(1, 1)
End Sub

出了什么问题?

我真的想避免必须激活“my file.xls”。

编辑:在它可以工作之前,我不得不放弃它并将 SheetData 作为新工作表复制到目标文件。 Find and select multiple rows

最佳答案

两年后(在 Google 上找到此内容,对其他人也是如此)...如上所述,您不需要选择任何内容。这三行:

Workbooks(File).Worksheets(SheetData).Range("A1").Select<br/>
Workbooks(File).Worksheets(SheetData).Range(Selection, Selection.End(xlToRight)).Select<br/>
Workbooks(File).Worksheets(SheetData).Selection.Copy ActiveWorkbook.Sheets(sheetName).Cells(1, 1)

可以替换为

Workbooks(File).Worksheets(SheetData).Range(Workbooks(File).Worksheets(SheetData). _<br/>
Range("A1"), Workbooks(File).Worksheets(SheetData).Range("A1").End(xlToRight)).Copy _<br/>
Destination:=ActiveWorkbook.Sheets(sheetName).Cells(1, 1)

这应该可以解决选择错误。

关于vba - 如何从另一个工作簿(excel)复制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/482717/

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