【发布时间】:2021-01-04 23:54:37
【问题描述】:
我是 VBA 的初学者,我需要执行以下操作。从工作簿开始,我应该创建另一个没有公式和宏代码的工作簿。
我找到了一些解决方案,并在此基础上对自己的代码进行了建模:
Sub SaveValuesOnly()
Dim wsCopy As Worksheet, wsPaste As Worksheet
Dim wb As Workbook
Dim sFileName As String, sPath As String
sPath = "C:\Users\"
sFileName = "OVERALL RECAP"
Set wsCopy = ThisWorkbook.Worksheets("INCIDENTS")
Set wb = Workbooks.Add
Set wsPaste = wb.Sheets(1)
wsCopy.Cells.copy
wsPaste.Cells.PasteSpecial xlPasteValues
wsPaste.Cells.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
wsPaste.Name = "Expenses" 'Change if needed
wb.SaveAs Filename:=sPath & sFileName, FileFormat:=xlOpenXMLWorkbook
End Sub
我需要复制多张纸并尝试使用官方文档,例如:
Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
.SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook
.Close SaveChanges:=False
End With
但我没有设法在上面的代码中实现这一点,有什么建议吗?谢谢。
【问题讨论】:
-
您需要创建 NewWorkBook 并从 OldWorkBook 中移动 EverySheet?
-
不是每张纸,只是我想要的那些,我会根据工作表名称选择一组特定的工作表。对不起,我应该更清楚