我想,如果在一个单元格的值超过一定值,写一个简单的宏以显示弹出式(vbOKOnly)。
我基本上有产品和折扣工作表。 我有一个小区中的公式,假设A1,即示出了折扣为百分比(50%或0.5)中的所有条目的有效折扣。
我正在寻找的是代码,如果单元格A1的值超过说的50%,显示一个消息框,因为另一个单元的输入推折扣超过50%。
谢谢!
我想,如果在一个单元格的值超过一定值,写一个简单的宏以显示弹出式(vbOKOnly)。
我基本上有产品和折扣工作表。 我有一个小区中的公式,假设A1,即示出了折扣为百分比(50%或0.5)中的所有条目的有效折扣。
我正在寻找的是代码,如果单元格A1的值超过说的50%,显示一个消息框,因为另一个单元的输入推折扣超过50%。
谢谢!
您可以在下面的VBA代码添加到您的工作表:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") > 0.5 Then
MsgBox "Discount too high"
End If
End Sub
每一个小区被在片材上改变时,它将检查单元格A1的值。
笔记:
Widor使用不同的方法( Worksheet_Calculate
而不是Worksheet_Change
):
结论 :使用Worksheet_Change
如果A1仅依赖于位于同一片数据,使用Worksheet_Calculate
如果不是。
从本质上讲,你要添加代码到Calculate
相关的工作表的事件。
在VBA编辑器的项目窗口中,双击要在编辑器窗口的顶部添加代码,并从下拉列表中,选择“工作表”,并在左边“计算”和右的纸张。
另外,下面的代码复制到你想使用纸张的编辑器:
Private Sub Worksheet_Calculate()
If Sheets("MySheet").Range("A1").Value > 0.5 Then
MsgBox "Over 50%!", vbOKOnly
End If
End Sub
这样一来,看到每一个工作表重新计算,将检查的时间,如果该值> 0.5或50%。
我不认为一个消息框,是一起去这是你需要在一个循环中运行VB代码检查单元格内容的最好方式,或者除非您打算手动运行宏。 在这种情况下,我认为这将是更好的条件格式单元添加到背景更改为红色(例如)如果该值超过上限。