我正在使用以下函数从工作簿中保存工作表并将其保存到单独的工作簿。但是,它正在保存公式,而我宁愿将这些值放在最终的工作簿中。我怎样才能修改这个,所以生成的工作簿不包含公式和公正值?将工作表中的值(不是公式)保存到新的工作簿中?
Sub Sheet_SaveAs(FilePath As String, SheetToSave As Worksheet)
Dim wb As Workbook
Set wb = Workbooks.Add(xlWBATWorksheet)
With wb
SheetToSave.Copy After:=.Worksheets(.Worksheets.Count)
Application.DisplayAlerts = False
.Worksheets(1).Delete
Application.DisplayAlerts = True
.SaveAs FilePath
.Close False
End With
End Sub
使用惠赠我试过这个链接,但无济于事:
Sub Sheet_SaveAs(FilePath As String, SheetToSave As Worksheet)
Dim wb As Workbook
Set wb = Workbooks.Add(xlWBATWorksheet)
With wb
SheetToSave.Copy After:=.Worksheets(.Worksheets.Count)
Application.DisplayAlerts = False
.Worksheets(1).Delete
.Worksheets(1).Copy
.Worksheets(1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.DisplayAlerts = True
.SaveAs FilePath
.Close False
End With
End Sub
,但我得到的PasteSpecial的行错误?
将特殊粘贴添加到我已有的粘贴中有多简单?我之前做过复制和粘贴的工作 - 我的困惑之处在于我上面的代码目前没有做任何粘贴。 – mezamorphic
我认为你必须粘贴每个单元格 - 也许尝试使用嵌套循环? – FrostbiteXIII