我想完成我的项目,我现在有一个表单控件,当按下时添加到一个数字的值和另一个按钮将减去该值。Excel Worksheet_Change不工作时,宏更改单元格
另一个值对于同一事物有两个不同的按钮,但值也取决于第一个值和其他事物,而不仅仅是按钮修改该值。我试图执行这段代码进行验证
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("F19")) Is Nothing Then
If Range("E19") = 2 And Range("F19") < 12 Then
Range("E20") = 1
End If
End If
End Sub
但显然Excel中无法识别时,改变由按键引起的细胞F19已经改变,只有当它是由用户输入造成的。所以,这就是说,如果F19更新,19是2,F19小于12(E12为2的先决条件是F19是12或更大),那么设置E20为1(E20是E19的修饰符,它也具有进入它的其他修饰符)。此方法适用于其他不受按钮控制的值,但如何在Excel表单控件按钮更改值(或至少在按下表单控件时进行监视)时获得Excel的实现。
编辑:宏如果单元格按公式改变,实际上也不起作用。我不认为我可以使用Worksheet_Calculate来监视特定单元格中的更改。
我不认为这是正确的。我的理解是,标准模块中的非限定范围引用将引用活动页。但是表单类模块中的非限定范围引用将引用该表单。我同意OP应完全限定范围参考以避免混淆。OP可能也会考虑Me关键字。 –
我不确定为什么你没有告诉我我在回答评论时错了。好吧。我只是相信MSDN而不打扰测试它。我删除了我的犯规句子。 :) 谢谢 –