Excel 保存包含 VBA 代码的工作簿

2003 及之前的版本中,在 xls类型工作簿可以任意编写并保存 VBA 代码。

2007 版本开始,第一次保存包含 VBA 代码的工作簿时,Excel 会提示“无法保存工作簿”。

这是因为,含 VBA 代码的工作簿,必须保存成启用宏的工作簿类型。Excel 为此提供了xlsm类型的工作簿,称之为「启用宏的工作簿」。

保存启用宏的工作簿

第一次保存时,将弹出前述提示框,为了保存 VBA 代码,其中选择「否」。在另存为窗口,保存类型列表中,选择「Excel 启用宏的工作簿(*.xlsm)」。

选择后保存,可以看到工作簿类型,xlsm

 

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com
订阅评论
提醒
14 评论
最新
最旧 最多投票
内联反馈
查看所有评论
你的眼神
3 月 前

跪了~~~

我爱瓦罐
1 年 前

太详细了,我哭了。顶顶顶

小熊踩背
1 年 前

我拆分成多个工作簿的时候点击运行子程序,每次都要询问我一次打开拆分完毕的工作簿是是否校验兼容性,然后每次都要疯狂点确定,有没有办法可以省去这个步骤

小熊踩背
1 年 前
回复给  懒人Excel

之前问过其他人,就是高版本转低版本,默认保存为2003的版本,所以会提示兼容性的校验,像您说的设置文件类型应该怎么操作呢?

以下是我从网上查的拆分工作簿的代码,是在这里调整代码吗还是怎么?

我理解应该是FileFormat:=xlNormal这个代码存在问题,把文件格式调整一下应该就可以,但是文件格式应该怎么表达呢?目前这个代码保存的是EXCEL默认格式。

辛苦大神!

Private Sub 分拆工作表()
Dim sht As Worksheet
Dim MyBook As Workbook
Set MyBook = ActiveWorkbook
For Each sht In MyBook.Sheets
sht.Copy
ActiveWorkbook.SaveAs Filename:=MyBook.Path & “\” & sht.Name, FileFormat:=xlNormal ‘将工作簿另存为EXCEL默认格式
ActiveWorkbook.Close
Next
MsgBox “文件已经被分拆完毕!”
End Sub

最后由小熊踩背编辑于1 年 前
小熊踩背
1 年 前
回复给  懒人Excel

可以了 感谢感谢

noovertime
2 年 前

马赛克打得略略马虎,强迫症表示希望改进,哈哈

派大星
2 年 前

新手大喜~感谢博主

Coral
2 年 前

写的很棒,简洁清晰,赞!

水台*
3 年 前

写的很好,支持!

大宝徐
3 年 前

请问下,现在office 2010下写的VBA代码,在其他更高版本比如2013,2017上运行是否向上兼容?

14
0
希望看到您的想法,请您发表评论x