当单元格值超过50时,运行宏以显示错误消息

时间:2011-04-26 13:13:04

标签: excel-2007

我整夜都试图想出这个。我有一个从单元格I6中的公式派生的值。该值表示特定股票的买单数量。我设计了电子表格,因此它只显示50行购买和50行销售。当值I6超过50时,我想显示一条消息,说“买入或卖出的数量”不能超过50。我希望这个宏能在任何时候超过50时自动运行。

我应该指出,我以前从未编写过VB宏,但我基本上都是无所畏惧(也是无能为力)。

1 个答案:

答案 0 :(得分:0)

您可以采用两种方式执行此操作,具体取决于您希望“显示消息”的确切方式。

  1. 您可以在单元格中放置一个公式来检查单元格I6的值,如:

    = IF(I6> 50,“买/卖的数量不能超过50”,“”)

  2. 为此您需要一个可以显示消息的区域 - 如果它包含任何文本,您甚至可以在单元格上放置一些条件格式以显示红色。

    1. 与上述类似,但不依赖于电子表格中的区域并使用VBA宏。
    2. a)将下面的论坛放在一个单元格中(任何地方都可以)不可见

      =IF(I6 > 50, ToManyBuySells(),"")
      

      b)将模块添加到VBA项目并添加以下代码。

      Function ToManyBuySells()
          MsgBox "The number of (buys) or (sells) cannot exceed 50", vbExclamation + vbOKOnly, "Buy/Sell Exceeded"
          ToManyBuySells = ""
      End Function
      

      当I6超过50并显示信息时,此功能将运行。

      希望这有帮助