将Excel中的单个工作表保存为具有所需名称的源文件夹

我的本地文件夹中有一个macros启用工作簿。 这个工作手册共有7个工作表。 最后一张名为“AnsSheet”的纸张。 我想将最后一张(仅AnsSheet)保存在具有修改名称的相同文件夹位置。 这里是我正在使用的代码是不给所需的结果。

你能指导吗?

Sheets("AnsSheet").Select Set wb = Workbooks.Add ThisWorkbook.Sheets("AnsSheet").Copy Before:=wb.Sheets(1) ActiveSheet.SaveAs Filename:=ActiveWorkbook.Path & "\WF_Macro_" & Format(Date, "DD-MMM-YYYY") & ".xls" 

您的文件名将不完整,因为ActiveWorkbook.Path将是空白的。 ActiveWorkbook将是您新创build的工作簿,并且由于您尚未保存,所以Path将为空。 使用ThisWorkbook来获取当前工作簿的path。

我不知道,如果ActiveSheet.SaveAs方法将工作,但我没有看着它。 我个人会使用Workbook.SaveAs方法保存新的工作簿。 另外,不要将“.xls”添加到文件名的末尾,而应使用FileFormat参数指定文件typesMSDN FileFormat Enum

我已经用下面的代码更新了你的代码,以帮助看看发生了什么:

 Dim wb As Excel.Workbook '\\ Create a new Workbook with only one Worksheet Set wb = Workbooks.Add(xlWBATWorksheet) '\\ Copy Sheet to start of new Workbook ThisWorkbook.Sheets("AnsSheet").Copy Before:=wb.Sheets(1) '\\ Turn off alerts and delete the unused sheet, turn alerts back on Application.DisplayAlerts = False wb.Sheets(2).Delete Application.DisplayAlerts = True '\\ Save new Workbook as a standard Workbook wb.SaveAs Filename:=ThisWorkbook.Path & "\WF_Macro_" & Format(Date, "DD-MMM-YYYY"), _ FileFormat:=xlWorkbookNormal