簡體   English   中英

如何將工作表復制到新工作表但僅作為值?

[英]How to copy a worksheet to a new worksheet but as values only?

我將工作表“成本計算表”復制到新工作表。

我使用這個代碼:

Sub CopyPasteSheetAsValues()
    Worksheets("Costing Sheet").Copy After:=Worksheets("Costing Sheet")
    Application.CutCopyMode = False
End Sub

復制的工作表中有我在新工作表中不需要的公式。 我想將工作表復制到新工作表中,但粘貼為“僅值”。

我還有下面的代碼可以復制和粘貼工作表,但它會覆蓋當前工作表。 它不是僅包含值的新工作表,而是與值相同的工作表。

Sub CopyPasteSheet()
    'Copy and Paste Summary Sheet as Values
    Sheets("Costing Sheet").Cells.Copy Before:=Sheets("Comparison Job")
    Sheets("Costing Sheet").Cells.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End Sub

我試圖組合這些代碼但沒有成功。

您可以利用這樣一個事實:當從另一張工作表復制一張工作表時,它會變成活動工作表

Sub CopyPasteSheetAsValues()

Worksheets("Costing Sheet").Copy After:=Worksheets("Costing Sheet")
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value

End Sub

執行沒有目的地的副本將使用復制的工作表創建一個新工作簿。 將范圍的值分配給范圍的值將擺脫公式。

Dim myNewWB as Workbook

Worksheets("Costing Sheet").Copy
Set myNewWB = ActiveWorkbook
With myNewWB.Worksheets(1)
   .Range(.Cells(1,1),.Cells(.UsedRange.Rows.Count,.UsedRange.Columns.Count)).Value= _
   .Range(.Cells(1,1),.Cells(.UsedRange.Rows.Count,.UsedRange.Columns.Count)).Value
End With

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM