3

我有一个包含 5 张完整 UDF(用户定义函数)的工作簿。
我需要将这 5 张纸复制到一个新的工作簿中,但我只需要这些值。
问题是,当我复制这些工作表时,所有带有 UDF 的单元格都被 #value 破坏了,因为我在这个新工作簿上没有我的宏。

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

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

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

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

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

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

4

3 回答 3

2

试试这些步骤

  1. 复制现有文件中的工作表。
  2. 在新复制的工作表中复制然后粘贴值所有信息(在现有文件中)
  3. 将新复制(和新粘贴的值)表移动到新文件。
于 2014-08-22T19:05:57.333 回答
2

鉴于您要求提供代码,您可以自动化吉他投掷者的解决方案,如下所示(您可以在其中更改要在下面复制的书中的工作表名称)

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
于 2014-08-24T03:09:26.697 回答
1

尝试这个:

  • 使用 SaveAs复制完整的文件
  • 在文件的副本中,转到每个目标工作表。
  • 右键单击左上角的单元格并选择复制:

在此处输入图像描述

  • 然后再次右键单击并选择仅粘贴特殊选择值。
  • 现在删除您不想包含的所有工作表。
于 2014-08-22T19:15:43.773 回答