Excel 2016宏录制异常:生成代码存在语法错误求助
Excel 2016录制宏后代码缺失属性名的解决办法
嘿,这个问题我碰到过好几次了!你录制宏后生成的VBA代码里到处都是没有属性名的.,显然是Excel在录制过程中没正确捕捉到你的操作细节,导致代码生成不完整,自然会报语法错误。下面给你几个靠谱的解决思路:
先排查根源问题
这种代码残缺的情况,大概率是Excel本身的运行异常导致的,优先试试这几个修复操作:
- 快速修复Office安装:打开Windows控制面板,找到「Microsoft Office 2016」,点击「更改」→选择「快速修复」,跟着提示完成修复后重启Excel。如果快速修复没用,再试「联机修复」(这个需要联网,耗时久一点,但修复更彻底)。
- 清理Excel临时文件:关闭所有Office程序,找到这两个路径下的临时文件删掉:
C:\Users\[你的用户名]\AppData\Local\Microsoft\Office\UnsavedFilesC:\Users\[你的用户名]\AppData\Local\Temp(筛选出Office相关的文件删除)
删完后重启电脑,再打开Excel录制宏试试。
- 放慢录制时的操作速度:有时候操作太快,Excel来不及同步捕捉每一步的设置,就会漏生成属性名。下次录制宏时,每完成一个设置(比如设置单元格对齐方式、填充颜色),都稍等1-2秒再进行下一步操作,给Excel足够的时间生成代码。
如果必须拯救现有代码(不推荐,不如重录)
要是你不想重新录制,也可以根据代码里的值反向补全缺失的属性名。举个例子,对比正常的格式设置宏代码,你那些残缺的部分应该是这样的:
错误代码片段:
Cells.ErrorString With . . = xlSolid . = xlAutomatic .Order = xlThemeColorDark1 .Symbol = 0 . = 0 End With
补全后应该是类似这样(根据常见操作推断):
With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With
再比如你那段对齐设置的代码:
With . = xlGeneral . = xlCenter . = FALSE . = 0 . = FALSE . = 0 . = FALSE . = xlContext . = FALSE End With
补全后大概是:
With Selection .NumberFormat = xlGeneral .HorizontalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With
不过手动补全很容易出错,除非你对VBA属性特别熟悉,否则还是重新录制更省心。
内容的提问来源于stack exchange,提问作者David Lee
相关产品推荐
相关产品推荐

