繁体   English   中英

将带有udf的工作表复制到新工作簿

[英]Copy sheets with udf to a new workbook

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

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

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

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

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

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

任何人都知道如何进行?

尝试这些步骤

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

鉴于您要求代码,您可以自动执行guitarthrower的解决方案 ,如下所示(您将在下面的书中更改您的工作表名称)

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

试试这个:

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

在此输入图像描述

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM