【发布时间】:2017-06-19 05:59:12
【问题描述】:
我目前正在使用 Office 365 订阅运行 Excel for Mac。每当某个单元格值发生变化时,我都会尝试执行 VBA 宏。我已经在网上查看并看到了许多使用Worksheet_Change Sub 的代码示例,但是它对我不起作用。这是我的代码目前的样子:
Private Sub Worksheet_Change(ByVal Target as Range)
Target.Font.ColorIndex = 5
End Sub
我正在尝试在四张纸中的第二张上运行它。我在第二张纸上点击了View Code,所以我在正确的纸上。
有人知道它为什么/可能不起作用吗?它在 Excel for Mac 中不起作用吗?
如果您需要更多信息,请告诉我。
谢谢
【问题讨论】:
-
您确定更改了单元格中的值。如果单元格只是重新计算一个新值,它不会触发。
-
我点击进去并在里面输入了一些东西。这是否也算作重新计算?
-
如果你真的在单元格中输入了一些新的东西(即使它是一个新的公式),它应该已经被触发了。所以也许它是一个在 Mac 上不起作用的功能 - 恐怕我不确定 Mac 版本有什么限制。 (要调试,您可以尝试在事件代码中放置
MsgBox "running"以查看它是否真的在触发。如果不是,您应该检查您是否在某个阶段没有意外禁用事件,因此输入 @ 987654325@ 在即时窗口中,然后再试一次。在那之后,我没有想法了。) -
是的,我已经偶然发现了启用事件解决方案,但上面实际上是我模块中唯一的代码。可悲的是,MsgBox 也不能正常工作,我什至可以将语法错误放入子例程中,excel 不会显示错误。接下来我会在windows上试试。感谢您的帮助:)
-
Excel for Mac 似乎只是一大堆麻烦。大多数使 Excel 变得出色的好东西都不能在 Mac 上运行。也许您可以安装 Parallels,然后运行 Excel for Windows。