将活动工作表复制到另一个工作簿:Range类的复制方法失败

李杰

我希望我的代码复制整个工作表(SOURCE)并将其粘贴到其他工作簿(WHERE_I_WANNA_PASTE_IT)下的其他工作表(TARGET)中并保存。

我收到此错误:

运行=时间错误“ 1004”:Range类的复制方法失败

在这条线上:

CurrentSheet.Cells.Copy Destination:=oSheet.cells 

代码:

Public Const path1 As String = "C:\Where_I_WANNA_PASTE_IT.xlsb"
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim CurrentSheet As Object

Sub copyNpaste

Set CurrentSheet = ActiveSheet
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(path1)
Set oSheet = oBook.Worksheets("TARGET")

'Deleting what's on "TARGET" first
oSheet.cells.delete

'This is where the Error happens.
CurrentSheet.Cells.Copy _
Destination:=oSheet.Cells

oBook.Save
oBook.Close

Set oExcel = Nothing
Set oBook = Nothing
Set oSheet = Nothing
Set CurrentSheet = Nothing

End Sub
新西兰国家博物馆

有两个建议,这应该可以工作(至少在我的计算机上可以,我能够完美地复制您的错误):

修复1

不要创建新的Excel应用程序,请使用相同的线程;换句话说,删除此:

Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(path1)

并写成这样:

Set oBook = Workbooks.Open(path1)

修复2

您可以根据需要设置活动工作表,但要清楚参考,请使用“ ThisWorkbook”,这样编译器将很高兴,并且您不会冒险参考其他工作表(这始终是一个好习惯,永远不要完全信任如果您已经知道您的期望参考是默认参考,例如本例):

Set CurrentSheet = ThisWorkbook.ActiveSheet

和建议...

放置一个错误处理程序:如果该方法失败,您将发现一堆开放式Excel线程(将其检出,您将拥有与失败一样多的代码运行。这是我编写完整代码的方式(建议包括):

Public Const path1 As String = "C:\yourfile.xlsb"
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim CurrentSheet As Object

Sub copyNpaste()

Set oBook = Workbooks.Open(path1)
Set oSheet = oBook.Worksheets("TARGET")
Set CurrentSheet = ThisWorkbook.ActiveSheet

On Error GoTo ESCAPE 'if the code fails, we go to "Escape" and at least we close the file

'Deleting what's on "TARGET" first
oSheet.Cells.Delete

'This is where the Error happens.
CurrentSheet.Cells.Copy _
Destination:=oSheet.Cells

oBook.Save

ESCAPE:

oBook.Close

Set oExcel = Nothing
Set oBook = Nothing
Set oSheet = Nothing
Set CurrentSheet = Nothing

End Sub

笔记

打开任务管理器(Ctrl + Alt + Del)并进入进程...在笔记本电脑爆炸之前,每次运行代码失败,关闭可能离开的所有EXCEL.EXE进程:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据从一个工作簿复制到另一个工作簿工作表

来自分类Dev

将工作表复制到另一个工作簿

来自分类Dev

将工作表复制到另一个工作簿VBA

来自分类Dev

使用 VBA 将工作表复制到另一个工作簿

来自分类Dev

无法将工作表复制到另一个工作簿

来自分类Dev

将单元格范围从一个工作簿工作表复制到另一个工作簿工作表

来自分类Dev

将一个工作簿的多个工作表中的单元格复制到另一个工作簿中的多个工作表中

来自分类Dev

从一个工作簿的工作表复制到另一个工作簿时出错

来自分类Dev

Excel Interop:如何将工作表复制到另一个工作簿?

来自分类Dev

Excel 2013将工作表复制到另一个工作簿时创建外部链接

来自分类Dev

将工作表复制到另一个工作簿,但工作表也保存在新工作簿中

来自分类Dev

将VBA代码从一个工作簿中的工作表复制到另一个工作簿?

来自分类Dev

没有宏将特定工作表从一个工作簿复制到另一个工作簿

来自分类Dev

excel-如何将所有工作表从一个工作簿复制到另一个工作簿

来自分类Dev

将数据从一个工作簿中的工作表复制到另一个工作簿

来自分类Dev

将列从一个工作簿复制到另一个工作簿

来自分类Dev

如何使用aspose.cell将一个工作表复制到工作簿中的另一个工作表

来自分类Dev

使用VBA将特定的列从工作簿复制到另一个

来自分类Dev

VBA Excel-带条件将行复制到另一个工作簿表

来自分类Dev

将数据从许多Excel工作簿复制到另一个Excel工作簿

来自分类Dev

将复选框从另一个工作簿复制到当前工作簿?

来自分类Dev

将工作簿名称复制到另一个工作簿中的单元格

来自分类Dev

通过 VBA 将工作簿的命名范围数据复制到另一个工作簿

来自分类Dev

将数据从一个工作簿复制到另一工作簿

来自分类Dev

如何将工作表内容复制到另一个工作表?

来自分类Dev

将工作表中的范围复制到另一个工作表 VBA

来自分类Dev

将工作表从源文件复制到活动工作簿

来自分类Dev

通过循环遍历所有工作表将数据从工作表复制到另一个工作簿

来自分类Dev

将启用宏的工作表从一个工作簿复制到另一个“运行时错误“1004”

Related 相关文章

  1. 1

    将数据从一个工作簿复制到另一个工作簿工作表

  2. 2

    将工作表复制到另一个工作簿

  3. 3

    将工作表复制到另一个工作簿VBA

  4. 4

    使用 VBA 将工作表复制到另一个工作簿

  5. 5

    无法将工作表复制到另一个工作簿

  6. 6

    将单元格范围从一个工作簿工作表复制到另一个工作簿工作表

  7. 7

    将一个工作簿的多个工作表中的单元格复制到另一个工作簿中的多个工作表中

  8. 8

    从一个工作簿的工作表复制到另一个工作簿时出错

  9. 9

    Excel Interop:如何将工作表复制到另一个工作簿?

  10. 10

    Excel 2013将工作表复制到另一个工作簿时创建外部链接

  11. 11

    将工作表复制到另一个工作簿,但工作表也保存在新工作簿中

  12. 12

    将VBA代码从一个工作簿中的工作表复制到另一个工作簿?

  13. 13

    没有宏将特定工作表从一个工作簿复制到另一个工作簿

  14. 14

    excel-如何将所有工作表从一个工作簿复制到另一个工作簿

  15. 15

    将数据从一个工作簿中的工作表复制到另一个工作簿

  16. 16

    将列从一个工作簿复制到另一个工作簿

  17. 17

    如何使用aspose.cell将一个工作表复制到工作簿中的另一个工作表

  18. 18

    使用VBA将特定的列从工作簿复制到另一个

  19. 19

    VBA Excel-带条件将行复制到另一个工作簿表

  20. 20

    将数据从许多Excel工作簿复制到另一个Excel工作簿

  21. 21

    将复选框从另一个工作簿复制到当前工作簿?

  22. 22

    将工作簿名称复制到另一个工作簿中的单元格

  23. 23

    通过 VBA 将工作簿的命名范围数据复制到另一个工作簿

  24. 24

    将数据从一个工作簿复制到另一工作簿

  25. 25

    如何将工作表内容复制到另一个工作表?

  26. 26

    将工作表中的范围复制到另一个工作表 VBA

  27. 27

    将工作表从源文件复制到活动工作簿

  28. 28

    通过循环遍历所有工作表将数据从工作表复制到另一个工作簿

  29. 29

    将启用宏的工作表从一个工作簿复制到另一个“运行时错误“1004”

热门标签

归档