Excel VBA:将工作表移动到新工作簿,同时保持工作表对象关联

伊森

这里的目标是设置一个工作表对象,然后将该工作表移动到新的工作簿并继续使用该工作表对象。但是,通过移动该工作表,似乎先前与其相关联的工作表对象丢失了。

去测试:

假设我们在同一文件夹中有两个Excel工作簿,分别名为Book1.xlsb和Book2.xlsb,每个工作簿中都有一个名为Sheet1的工作表。当我们打开Book1时,我们放入下面的子目录,并尝试使用工作表对象从另一张表中移出一张表。

一切“正常”,但工作表对象在该过程中丢失,并且在您再次尝试使用它时会引发错误。是否可以将工作表移动到新工作簿,而不会丢失该工作表对象关联,以便以后可以引用它?

Option Explicit
Sub test()
    Dim wb1 As Workbook
    Dim wb2 As Workbook

    Dim ws As Worksheet

    Set wb1 = ThisWorkbook
    Set wb2 = Workbooks.Open("Book2.xlsb")

    Set ws = wb2.Sheets(1)

    ws.Name = "Sheet2" 'name changed to avoid conflict with the one already there
    ws.Move wb1.Sheets(1)

    MsgBox ws.Name 'this line throws an error, indicating that ws association has been lost

End Sub

编辑:如果这不可能,我们如何可靠地将该工作表对象重新设置为我们刚刚移动的那个对象?

凯文·金

在你的代码中

ws.Move wb1.Sheets(1)

您已经将表格ws移到Book2.xlsb文件的第一张表格中

“ Sheets(1)”表示文件的第一张纸

因此,您可以像这样重置ws。

  Set ws = wb1.Sheets(1)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#OpenXML将Excel工作表复制并粘贴到新工作簿

当行数限制> 1M时,将新工作表添加到Excel工作簿中以存储数据

Excel VBA-将所有工作表从特定工作簿复制到活动工作簿中

如何将Excel工作表从工作簿A复制到工作簿B

将数据从工作簿中的多个工作表复制到单独工作簿中的不同工作表-VBA Excel

使用SSIS将Excel工作表从工作簿移动到另一个

在Excel中打开时,复制到新工作簿中的EPPlus工作表仍保持选中状态

无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

如何将新工作表追加到现有Excel工作簿?

VBA Excel从关闭的文件中获取工作簿对象或通过工作表索引引用Excel SQL表

将粘贴复制到Excel中的新工作表

在Excel中将行移动到新工作表

尝试将Range从工作表复制到新工作簿中。Excel VBA

EXCEL VBA:将工作表中的工作表复制到其他位置的工作簿中

Excel VBA-将工作表复制到新工作簿X次

无法将EntireRow复制到新工作表-VBA-Excel-工作表类的粘贴方法失败

Excel VBA-将范围从一个工作表粘贴复制到工作簿中的某些工作表之后的所有工作表

将工作表添加到Excel工作簿

Excel VBA - 使用宏将工作簿复制到新工作簿中

如何使用 VBA 将所有 Excel 工作簿工作表导入 Access。

运行 VB 代码的 Excel 工作表在打开新工作簿时出错

如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

使用openpyxl将工作表从excel文件移动到一个工作簿中

将工作表移动到新工作簿很慢

Excel VBA:我切换到新工作簿并想删除工作表,但代码试图删除宏工作簿中的工作表

在 Excel VBA 中引用新工作簿

VBA:将命名工作表移动到新工作簿并保存

Excel VBA 將指定的一組工作表複製到新工作簿/從副本中排除工作表

将模板插入新工作表 Excel - VBA