VBA脚本在复制到其他工作簿时将公式转换为值

VBA脚本在复制到其他工作簿时将公式转换为值,vba,excel,Vba,Excel,我目前正试图写一个VB脚本,这是我的第一次,我正在努力与这种新的语言。 我需要将多个工作表复制到新工作簿中,并用计算值替换公式 我成功地在新工作簿中复制了2个工作表,但我不知道如何使用自己的子方法将公式转换为值 这是我目前掌握的代码: Sub myMacro() Dim wb As Workbook Set wb = Workbooks.Add ThisWorkbook.Sheets("SHEET_1").Copy Before:=wb.Sheets(1)

我目前正试图写一个VB脚本,这是我的第一次,我正在努力与这种新的语言。 我需要将多个工作表复制到新工作簿中,并用计算值替换公式

我成功地在新工作簿中复制了2个工作表,但我不知道如何使用自己的子方法将公式转换为值

这是我目前掌握的代码:

Sub myMacro()
    Dim wb As Workbook
    Set wb = Workbooks.Add
        ThisWorkbook.Sheets("SHEET_1").Copy Before:=wb.Sheets(1)
        ThisWorkbook.Sheets("SHEET_2").Copy Before:=wb.Sheets(1)
    wb.SaveAs "newWB.xlsx"
End Sub
我现在需要的是,在复制过程中,用值转换公式。
谢谢

下面是我的评论,请尝试以下内容:

Sub myMacro()
Dim wb As Workbook
Set wb = Workbooks.Add
    ThisWorkbook.Sheets("SHEET_1").Copy Before:=wb.Sheets(1)
    ThisWorkbook.Sheets("SHEET_2").Copy Before:=wb.Sheets(1)
    wb.Sheets("SHEET_1").Range("A1:Z1000").Value = wb.Sheets("SHEET_1").Range("A1:Z1000").Value 
    wb.Sheets("SHEET_2").Range("A1:Z1000").Value = wb.Sheets("SHEET_2").Range("A1:Z1000").Value
wb.SaveAs "newWB.xlsx"
End Sub

上述代码将新工作表的公式更改为A1:Z1000范围内的值(在新目标工作簿中)。

只需将单元格的值设置为公式计算的值,例如
ThisWorkbook.Sheets(“SHEET_1”).range(“A1:Z1000”)。Value=ThisWorkbook.Sheets(“SHEET_1”).范围(“A1:Z1000”).Value
-明显改变
范围(“A1:Z1000”)
根据需要。这样做有效,但我不想将公式更改为源工作簿,而只想更改为目标工作簿。这样做有效,但我不想将公式更改为源工作簿,而只想更改为目标工作簿。原始注释使用
此工作簿更改了源工作簿
,但答案中的代码将更改源工作簿目标工作表引用了新工作簿“我的坏”,没有看到更改。非常好用谢谢!:)