问题描述
我正在尝试编写一个简单的宏来显示一个弹出窗口(vbOKOnly),如果一个单元格中的值超过了某个值。
I am trying to write a simple macro to display a pop-up (vbOKOnly) if the value in a cell exceeds a certain value.
我基本上有一个工作表与产品和折扣。我在一个单元格中有一个公式,称为A1,表示所有条目的折扣百分比(50%或.5)有效折扣。
I basically have a worksheet with products and discounts. I have a formula in one cell, say A1, that shows the discount as a percent (50% or .5) effective discount of all the entries.
寻找代码是显示一个消息框的代码,如果单元格A1的值超过说50%,因为另一个单元格的输入推送折扣超过50%。
What I'm looking for is code to display a message box if the value of cell A1 exceeds say 50%, because the input of another cell pushed the discount over 50%.
谢谢
推荐答案
您可以在表格中添加以下VBA代码:
You could add the following VBA code to your sheet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") > 0.5 Then
MsgBox "Discount too high"
End If
End Sub
Every time a cell is changed on the sheet, it will check the value of cell A1.
注意:
- 如果A1还取决于位于其他电子表格中的数据,则如果您更改该数据,宏将不。
- 这个宏将被调用,每次在你的工作表上都会发生什么变化。如果它有很多公式(如1000s),可能会很慢。
使用不同的方法( Worksheet_Calculate
而不是 Worksheet_Change
) :
- 优点:如果A1的值与其他工作表中的单元格链接,他的方法将会起作用。
- 缺点:如果您的工作表上有很多链接引用其他工作表,他的方法会运行一下。
结论:使用 Worksheet_Change
如果A1仅依赖于同一工作表上的数据,请使用 Worksheet_Calculate
if不。
Conclusion: use Worksheet_Change
if A1 only depends on data located on the same sheet, use Worksheet_Calculate
if not.
这篇关于如果目标单元格中的公式超过一定值,则VBA代码显示Message Box弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!