Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将带有自定义项的工作表复制到新工作簿_Excel_Vba_Excel Udf - Fatal编程技术网

Excel 将带有自定义项的工作表复制到新工作簿

Excel 将带有自定义项的工作表复制到新工作簿,excel,vba,excel-udf,Excel,Vba,Excel Udf,我有一本5页的工作手册,里面全是自定义函数(UDF)。 我需要将这5张工作表复制到新工作簿中,但我只需要这些值。 问题是,当我复制这些工作表时,所有带有自定义项的单元格都会被带#值的单元格破坏,因为我在这个新工作簿上没有宏 我无法复制模块,因为许多用户将使用此工作簿,并且他们的Excel可能不允许我操作vba项目 我试着只在工作簿之间复制和粘贴值,但不起作用。我认为这是因为我的工作表有很多合并的行和列。Excel显示一条错误消息。我会在这里将葡萄牙语翻译成英语,也许Excel并没有完全使用这个w

我有一本5页的工作手册,里面全是自定义函数(UDF)。
我需要将这5张工作表复制到新工作簿中,但我只需要这些值。
问题是,当我复制这些工作表时,所有带有自定义项的单元格都会被带#值的单元格破坏,因为我在这个新工作簿上没有宏

我无法复制模块,因为许多用户将使用此工作簿,并且他们的Excel可能不允许我操作
vba项目

我试着只在工作簿之间复制和粘贴值,但不起作用。我认为这是因为我的工作表有很多合并的行和列。Excel显示一条错误消息。我会在这里将葡萄牙语翻译成英语,也许Excel并没有完全使用这个workd:

此选项要求合并的单元格大小相同

我不理解这个错误。我甚至尝试手动执行此操作:复制整个工作表(右键单击、移动和复制),然后选择原始工作簿上的所有使用区域,ctrl+c,然后选择新工作簿中的第一个单元格,然后ctrl+v,然后仅粘贴值。Excel会抛出一个错误。在按下ctrl+v之前,我还尝试在新工作簿上选择整个范围。同样的问题

我不知道该怎么办。我现在要做的是只复制和粘贴原始工作簿中的值,然后将整个工作表复制到新工作簿中。问题是这个操作破坏了我原来的工作簿,所以我不得不关闭它并重新打开,这是我不想做的

有人知道如何继续吗?

试试这些步骤

  • 复制现有文件中的图纸
  • 复制并粘贴新复制图纸(现有文件)中的所有信息值
  • 将新复制(和新粘贴的值)工作表移动到新文件中
  • 试试这个:

    • 使用“另存为”复制完整的文件
    • 在文件副本中,转到每个目标图纸
    • 在左上角的单元格上单击鼠标右键,然后选择“复制”:

    • 然后再次单击鼠标右键并选择“仅粘贴特殊选择值”
    • 现在删除所有不希望包含的图纸

    如果您要求提供代码,您可以如下所示(在这里您可以更改要复制的书中的工作表名称)


    上帝,这是如此简单和明显,我不敢相信我以前没有想到这一点!谢谢你!我们都去过!欢迎来到StackOverflow。如果成功了,请务必接受答案,以便其他人知道。@hend您可以点击勾号,使其变为绿色!你这样做会得到2分。你几乎完全回答了我的问题!但是你比我快了一分钟,还加了一张照片,所以我删除了我的答案P我建议,作为一种最佳做法,@hend“另存为”首先避免意外地保存在他/她的文件上,并丢失他/她的所有自定义项。我的文件中有很多VBA代码、许多其他工作表和许多条件格式。我的新文件中没有这些。我使用了Guitower建议,因为它使得在我的新文件中包含我想要的内容变得简单。但是非常感谢你!无益。复制时,它会创建一个新文件,该文件将成为ActiveWorkbook,它不知道原始工作簿中的自定义项。@robotik这个问题特别要求副本仅为值。复制后,在将它们转换为值之前,它们已经无法计算自定义项并给出
    #NAME?
    错误
    Sub Redone()
    Dim WB As Workbook
    Dim ws As Worksheet
    
    'runs on ActiveWorkbook
    Set WB = ActiveWorkbook
    WB.Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")).Copy
    
    'converts formulae to values on new workbook with the 5 specific sheets
    For Each ws In ActiveWorkbook.Sheets
        ws.UsedRange.Value = ws.UsedRange.Value
    Next
    
    End Sub