【发布时间】:2016-03-02 21:47:41
【问题描述】:
已解决:发现我自己的工作表错误 我遇到的问题是尝试在同一个工作簿中使用两个 worksheet_change 事件。因为我认为这是可能的,所以当我收到错误时,我只是重命名了有问题的工作表事件,没有考虑它。当与我的其他 worksheet_change 事件结合使用时,我的原始代码和提供的答案都有效。 谢谢大家。
原始请求:
我正在尝试运行执行此操作的宏:
每次单元格 r6 发生变化时,运行一个宏来查看单元格 s9 中的值是 > 还是
我有自己的宏来做第二部分:
sub macro1()
If Range("S9").Value < 1 Then
Range("S9:S100,T9:T100").Select
Selection.NumberFormat = "0.0%"
Else
Range("S9:S100,T9:T100").Select
Selection.NumberFormat = "#,##0"
End If
end sub
此宏自行运行,完全按照我的意愿运行,并格式化单元格。
然后我有工作表事件来调用该宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$R$6" Then
Call Macro1
End If
End Sub
当它运行以调用相同的宏时,它不会格式化单元格。无论单元格 r6 何时发生变化,它们都保持为 %。
任何想法为什么工作表事件导致宏不起作用?
【问题讨论】:
-
R6 中的值是由于公式的结果还是直接用户输入而变化?
Worksheet_Change没有捕获第一个。