现在我正在尝试创建一个excel宏,它应该从我的工作簿中复制一个工作表。此工作表应保存为以单元格B1中的值命名的新Excel文件。 到目前为止一切正常。 问题是:我希望副本是备份。因此表(副本)中的值不应连接到原始表。 所以简而言之:我只想复制格式+值,而不是表格中的公式。 你有什么想法我可以做这个工作吗?
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Dim FName As String
Dim FPath As String
Dim wbkExport As Workbook
Dim shtToExport As Worksheet
FPath = "C:\Users\User\Desktop\Artikelnummern"
FName = Worksheets("Test").Cells(1, 2).Value
Set shtToExport = ThisWorkbook.Worksheets("Test")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False 'Possibly overwrite
without asking
wbkExport.SaveAs Filename:=FPath & "\" & FName & ".xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False
End Sub
答案 0 :(得分:1)
替换你的行:
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
使用:
shtToExport.Cells.Copy
wbkExport.Worksheets(wbkExport.Worksheets.Count - 1).Range("A1").PasteSpecial xlPasteValues
wbkExport.Worksheets(wbkExport.Worksheets.Count - 1).Range("A1").PasteSpecial xlPasteFormats