Vba 关于将活动工作表另存为新工作表的问题
我试图使用以下代码将excel文件的第一页保存到目录C:中:Vba 关于将活动工作表另存为新工作表的问题,vba,excel,Vba,Excel,我试图使用以下代码将excel文件的第一页保存到目录C:中: Sub SaveSheet() ActiveSheet.Copy With ActiveSheet.UsedRange .Copy .PasteSpecial xlValues .PasteSpecial xlFormats End With Application.CutCopyMode = False ActiveWorkbook.SaveAs
Sub SaveSheet()
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
ActiveWorkbook.SaveAs "C:/" & Format(Range("E19"), "mmm-d-yyyy")
End Sub
但我这里有两个问题:首先,我不知道在哪里设置新文件名?
2-我遇到以下警告信息: 虽然我已经启用了使用宏,例如: 你能告诉我如何解决这些问题吗 坦斯克 更新:
将
.SaveAs
的语法为
expression.SaveAs(文件名、文件格式、密码、WriteResPassword、ReadOnlyRecommended、CreateBackup、AccessMode、ConflictResolution、AddToMru、TextCodepage、TextVisualLayout、Local)
有关详细信息,请参阅Excel帮助。保存工作簿时,至少应指定两个参数,即FileName
和FileFormat
如果要将文件另存为无宏文件,则必须专门指定文件格式
比如说
ActiveWorkbook.SaveAs Filename:="C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
或者更简单的方法
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbook
End Sub
类似地,如果要使用宏保存文件,则上述代码将变为
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
以下是一些commnon文件格式
50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro's, xlsb)
51 = xlOpenXMLWorkbook (without macro's in 2007-2013, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2013, xlsm)
56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls)
.SaveAs
的语法是
expression.SaveAs(文件名、文件格式、密码、WriteResPassword、ReadOnlyRecommended、CreateBackup、AccessMode、ConflictResolution、AddToMru、TextCodepage、TextVisualLayout、Local)
有关详细信息,请参阅Excel帮助。保存工作簿时,至少应指定两个参数,即FileName
和FileFormat
如果要将文件另存为无宏文件,则必须专门指定文件格式
比如说
ActiveWorkbook.SaveAs Filename:="C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
或者更简单的方法
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbook
End Sub
类似地,如果要使用宏保存文件,则上述代码将变为
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
以下是一些commnon文件格式
50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro's, xlsb)
51 = xlOpenXMLWorkbook (without macro's in 2007-2013, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2013, xlsm)
56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls)
谢谢Siddharth,唯一让我困惑的是这个宏观自由术语?这到底意味着什么?当您保存xlsx文件时,它不会存储任何宏。如果我想为example TestSheet.xls命名文件,那么我应该把它放在C:?
FName=“C:\TestSheet.xls”
你对FName有什么看法?我看不见。它隐藏在对话框Thank Siddharth中,唯一让我困惑的是这个宏自由项?这到底意味着什么?当您保存xlsx文件时,它不会存储任何宏。如果我想为example TestSheet.xls命名文件,那么我应该把它放在C:?FName=“C:\TestSheet.xls”
你对FName有什么看法?我看不见。它被对话框隐藏