我试图编写一个简单的宏,在单元格中的值超过某个值时显示一个弹出窗口(vbOKOnly)
我基本上有一个关于产品和折扣的工作表。我在一个单元格中有一个公式,比如A1,它将折扣显示为所有条目的有效折扣的百分比(50%或.5)
我要找的是,如果单元格A1的值超过50%,显示消息框的代码,因为另一个单元格的输入将折扣推到了50%以上
谢谢
您可以将以下VBA代码添加到工作表中:
专用子工作表\u更改(ByVal目标作为范围)
如果范围(“A1”)>;那么0.5
MsgBox“折扣太高”
如果结束
端接头
每次更改工作表上的单元格时,它都会检查单元格A1的值
注:
- 如果A1还依赖于其他电子表格中的数据,则如果更改该数据,将调用宏而不是
- 每次工作表上的内容发生更改时,都会调用宏。如果它有很多公式(如1000秒),它可能会很慢
Widor使用不同的方法(工作表\u计算而不是工作表\u更改):
- 优点:如果A1的值链接到其他表格中的单元格,他的方法将有效
- 缺点:如果你的工作表上有很多引用其他工作表的链接,他的方法会运行得慢一些
结论:使用工作表\u更改如果A1仅取决于位于同一工作表上的数据,则使用工作表\u计算