我需要有关“无法运行宏(...)。该宏可能在此工作簿中不可用,或者所有宏都被禁用。”的帮助。我尝试了最常见的建议,例如启用宏和编译项目,但这无济于事。
简短介绍:
我创建了一个宏,该宏已经成功运行了好几年(我们称之为旧版本),但是最近该公司升级到Office 2016 Professional Plus,并开始显示“下标超出范围错误”。我已经验证并更正了该宏-原因很简单:excel的新版本在新工作簿中创建1个工作表,而旧版本创建3。该宏尝试在不存在的工作表中执行操作。
我保存了更改并将宏发送给测试(新版本)。
宏在Workbook上运行。通过显示一个简单的表单打开,但是新版本不会在客户端计算机上显示该表单。根本没有任何反应。我已经添加了一个命令按钮,该命令按钮将启动宏并将其发送以进行测试,但是按下按钮后,又会出现“无法运行宏”消息。我以为代码中可能有错误,但是经过编译并仔细检查了PC上的所有内容之后,我找不到任何错误。因此,我从头开始使用一个单行宏创建了一个新工作簿:
Sub test()
MsgBox "macros enabled"
End Sub
令我惊讶的是,在客户端计算机上运行此宏也会返回相同的错误消息。在这一点上,我认为有些安全设置会阻止运行宏,但是a)宏的旧版本正在运行,b)我已要求客户端从网络上下载一些免费的示例宏,并且该宏也可以工作。 / p>
只需添加:新版本的宏(显然还有MsgBox宏)在我的家用PC(Office 2013),我的工作笔记本电脑(Office 2019)和我妻子的工作笔记本电脑(Office 365)上都可以正常工作。问题仅在客户的机器上。
任何建议将不胜感激。
TL:DR 宏可在Office 2019、2013和365上使用,但在Clients Office 2016上返回错误。
答案 0 :(得分:0)
在一次会议期间,当我有机会自己对其进行测试时,结果发现该宏已被其邮件服务器防病毒软件删除。因此,@ rene怀疑是正确的。 谢谢大家的帮助。