如何从其他工作簿(excel)复制数据?

Kim*_*Kim 6 excel vba excel-vba

我已经有了一个创建工作表和其他东西的宏.创建工作表后,我是否要调用另一个宏,该数据库将数据从第二个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
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

我真的想避免让"my file.xls"处于活动状态.

编辑:我必须放弃它并将SheetData复制到目标文件作为新工作表,然后才能工作. 查找并选择多行

Sam*_*rum 1

如果“我的文件.xls”不影响屏幕,您会乐意将其激活吗?关闭屏幕更新是实现此目的的方法,它还具有性能改进(如果您在切换工作表/工作簿时进行循环,则意义重大)。

执行此操作的命令是:

    Application.ScreenUpdating = False
Run Code Online (Sandbox Code Playgroud)

True不要忘记在宏完成后将其返回。