另存为启用宏的工作簿

时间:2019-05-03 18:13:16

标签: excel vba

VBA无法另存为 .xlsm 文件。 如果我将文件保存为标准的 .xls ,则整个代码都可以正常工作,则可以将文件保存在正确的位置。

任务: 从当前书中,循环浏览“ CategoryList”工作表中的单元格,并创建工作簿副本,然后另存为原始文件(.xlsm)并返回。

ActiveWorkbook.SaveAs Filename:=FPath & MyCat(i) **--> works as .xls

尝试的方法:

ActiveWorkbook.SaveAs Filename:=FPath & MyCat(i) & ".xlsm"   
ActiveWorkbook.SaveAs Filename:=FPath & MyCat(i), FileFormat:=".xlsm

这将导致出现一个窗口,要求将工作簿另存为书。


我的代码

For i = 1 To 5

  MyCategoty(i) = Sheets("CategoryList").Cells(i, 1).Value

  wb.Sheets("SheetName").Copy  

  .....my activity....

  ActiveWorkbook.SaveAs Filename:=FPath & MyCat(i), FileFormat:=".xlsm"   

  ActiveWorkbook.Close         

  ws.Activate                                                                     

Next i

有人可以帮忙吗

1 个答案:

答案 0 :(得分:0)

尝试这样的文件格式:

FileFormat:=xlOpenXMLWorkbook

记住您可能拥有的打开的书,以及其中有代码的书。