Vba 关于将活动工作表另存为新工作表的问题

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

我试图使用以下代码将excel文件的第一页保存到目录C:中:

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有什么看法?我看不见。它被对话框隐藏