[英]Office 365 for Mac: Execute VBA macro on table change
我目前正在使用 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 中的 VBA 窗口比 Windows 中的详细得多,我觉得它很混乱。
确保在左侧窗格中单击适当的下拉菜单
VBAProject(WorkbookName) -> Microsoft Excel Objects -> Sheet2
并在那里插入 Worksheet_Change 函数。
此外,如果您希望颜色仅在特定范围内更改,则需要使用 Intersect:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will cause an alert when they are changed.
Set KeyCells = Range("A1:Z99")
'This part executes only if the cell being changed is in KeyCells
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Target.Font.ColorIndex = 5
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.