将udf复制到新的工作簿

我有一个工作簿,5张满UDF(用户定义的函数)。
我需要将这5张表复制到一个新的工作簿,但我只需要值。
问题是,当我复制这些工作表时,UDF的所有单元格都被#value打破了,因为我没有这个新的工作簿的macros。

我不能复制该模块,因为许多用户将使用此工作簿,也许他们的Excel不会允许我操纵vba project

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

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

我不明白这个错误。 我甚至试图手动做到这一点:复制整个工作表(右键单击,移动和复制),然后select我原来的工作簿上的所有使用的范围,CTRL + C,然后select新工作簿中的第一个单元格,然后Ctrl + V和然后只粘贴值。 而Excel会引发错误。 我也尝试在按下ctrl + v之前select新工作簿上的整个范围。 同样的问题。

我不知道该怎么办。 我现在正在做的是复制和粘贴我的原始工作簿中的值,然后将整个工作表复制到一个新的工作簿。 问题是,这个行为毁了我原来的工作簿,所以我必须closures它,重新打开,我不想做的事情。

任何人有任何想法如何进行?

尝试这些步骤

  1. 复制现有文件中的工作表。
  2. 复制,然后将所有信息粘贴到新复制的工作表中(在现有文件中)
  3. 将新复制的(和新粘贴的值)表单移动到一个新的文件。

鉴于您要求提供代码,您可以按照以下步骤自动执行Guitarthrower的解决scheme (您可以在下面更改书中的表格名称)

 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 

尝试这个:

  • 使用另存为复制完整的文件
  • 在文件的副本中,转到每个目标工作表。
  • 用鼠标右键单击左上angular的单元格,然后select复制:

在这里输入图像说明

  • 然后再次右键单击并select仅粘贴特殊select值。
  • 现在删除您不想包含的所有工作表。