-2

我想使用 VBA 在启用宏的 Excel 文件中添加一个新工作表。

我使用的方法无关紧要:

  • Sheets.add
  • 复制和粘贴工作表以创建新工作表

新工作表已创建(或复制),但宏立即停止,没有任何消息错误,其余代码未执行。

我将文件转换为 XLSX,当我运行代码时,表单被创建并且代码执行完美地继续。

这就是为什么我认为它与启用宏的 Excel 文件类型有关。

更新:

我在另一台 PC 和 Excel 安装中测试了代码,并创建了新工作表并且代码继续运行。

两台计算机之间的唯一区别是 Excel 2016 版本:一台是
标准版,另一台是专业版。

4

2 回答 2

0

在您的 xlsm 文件中尝试此代码:

Dim ws As Worksheet
Set ws = Sheets.Add(After:=Sheets(Sheets.Count))

如果这不起作用,请告诉我。

于 2016-06-16T12:38:26.813 回答
0

我遇到了同样的问题,在具有 Excel 版本 16.0.10730.20264 32 位的 Windows 7 计算机上,代码运行良好,没有问题。但是,在具有相同 Excel 安装版本的 Windows 10 计算机上,宏将在 Sheets.Add 或 Worksheets.Add 行之后立即停止执行。我发现这只发生在我试图向包含 VBA 代码的工作簿添加工作表的情况下。该问题是由计算机上的宏安全设置引起的。如果在打开工作簿之前将自动化安全设置为低,则不应再收到错误:Application.AutomationSecurity = msoAutomationSecurityLow

于 2019-05-29T12:55:13.113 回答