我正在尝试将事件工作表的内容复制到新工作簿中。
Sub new_workbook()
Dim ExtBk As Workbook
Dim ExtFile As String
Columns("A:N").Copy
Workbooks.Add.SaveAs Filename:="output.xls"
ExtFile = ThisWorkbook.Path & "\output.xls"
Set ExtBk = Workbooks(Dir(ExtFile))
ExtBk.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Application.DisplayAlerts = False
ExtBk.Save
Application.DisplayAlerts = True
End Sub
我在
PasteSpecial
行出现了错误,并在主题上指定了错误。我有点困惑,因为如果我将其定向到源工作簿,这会起作用。也许我需要使用Windows(output.xls)?
最佳答案
如果只考虑保存值,则根本不要使用Copy
方法。
Sub new_workbook()
Dim wbMe As Workbook: Set wbMe = ThisWorkbook
Dim ws As Worksheet: Set ws = wbMe.ActiveSheet
Dim ExtBk As Workbook
Set ExtBk = Workbooks.Add
ExtBk.SaveAs Filename:=wbMe.Path & "\output.xls"
ExtBk.Worksheets("Sheet1").Range("A:N").Value = ws.Range("A:N").Value
Application.DisplayAlerts = False
ExtBk.Save
Application.DisplayAlerts = True
End Sub
注意:如果未保存
ThisWorkbook
,这将失败(以前的代码也将失败)。关于excel - 如何将事件工作表的内容复制到新工作簿?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17281872/