gpt4 book ai didi

excel - 为什么 Worksheet.Copy 不返回对创建的新工作簿的引用

转载 作者:行者123 更新时间:2023-12-02 03:00:41 27 4
gpt4 key购买 nike

我有一些代码,其中 wb 是现有的多工作表工作簿。如果我复制其中一张“概述”工作表,则会创建一个新工作簿 - 那么为什么会出现以下错误:“需要对象”?:

Dim wbCopy As Excel.Workbook
Set wbCopy = wb.Sheets("Overview").Copy

最佳答案

Worksheet.Copy 方法不会返回对新工作簿的引用。您可以改用工作表引用:

Dim wsCopy As Excel.Worksheet    'changed from wb to wsCopy

如您所知,如果您不提供 After 或 Before 参数,它将复制到新的工作簿。在同一工作簿中复制将使用以下代码:

Set wsCopy = wb.Worksheets("Overview")
wsCopy.Copy After:= wb.Worksheets(1) 'or Before:=

如果要将工作表复制到新工作簿并保留对其的引用,则需要分阶段完成:

Dim wbNew As Excel.Workbook
Dim wsCopied As Excel.Worksheet

Set wbNew = Workbooks.Add
wsCopy.Copy before:=wbNew.Worksheets(1)
Set wsCopied = wbNew.Worksheets(1)

如果您只需要保留对新工作簿的引用,则只需省略最后一行(以及 wsCopied 的变量声明)。

关于excel - 为什么 Worksheet.Copy 不返回对创建的新工作簿的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18428762/

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