簡體   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