Excel警告系统的想法

时间:2018-01-03 23:34:09

标签: excel vba excel-vba warnings

我正在尝试在Excel中创建一个警告系统,但我不知道哪个功能可以提供帮助。

例如,我想要一个系统在单元格数大于5时提醒我,并且即使在> <5>之后,信号仍然在上。

单元格A1是RTD,它是一个经常更改的数字。

  

早上9点,这个数字是5。

     

上午10点,它变为10.

     

上午11点,它又回到了5。

即使在上午11点,我怎么能有一个警告系统,通知我这个号码已超过5个。警告&#34;将继续关闭,直到我将其关闭。

即使理想情况下,Excel也可以弹出或某种方式提醒我这个警告。

感谢和问候

GYX

2 个答案:

答案 0 :(得分:1)

尝试数据验证列表。

例如,如果您的购买日期在单元格A1中,并且您的返回日期在单元格B1中,则对单元格B1执行以下操作:

(步骤假设您使用Excel 2007)

  1. 选择Cell B1
  2. 转到数据工具栏
  3. 选择数据验证
  4. 对于“设置”标签,选择“自定义”
  5. 在公式栏中,键入公式“= B1&gt; A1”
  6. 在“错误警报”选项卡上,选择警告(允许输入但在不符合条件时显示消息框)
  7. 对于标题,请键入“错误”
  8. 对于错误消息,请键入“退货日期不能在购买日期之前”
  9. 应该做你想要的......没有代码!!!!可以应用相同类型的逻辑来执行高级消息传递,只需要使用一些AND或OR函数更新步骤5中的公式,您就可以了。

答案 1 :(得分:0)

首先,为指定的单元格编号设置一个名称,当它的值大于5时,您需要系统警报:

  1. 单击要选择的单元格。
  2. Name Box(在Excel窗口的左上角,公式栏的左侧)键入所需的名称,例如Alert
  3. 在“工作簿”窗口中按 Alt + F11

    将打开Microsoft Visual Basic For Application窗口。

    在左侧,在项目资源管理器框中,选择您指定的工作表。 (例如:Sheet1)

    输入以下代码(此处还会通过状态栏警告您)

    Private Sub Worksheet_Change(ByVal Target As Range)
        If ActiveSheet.Name = Me.Name Then
            If IsNumeric(Range("Alert").Value) Then
                If Range("Alert").Value > 5 Then
                    MsgBox "The value is larger than 5", vbCritical + vbOKOnly, "Alert"
                    Application.StatusBar = "Warning: the sensitive cells value is larger than 5"
                Else
                    Application.StatusBar = "The sensitive cell is approved"
                End If
            Else
                Application.StatusBar = ""
            End If
        End If
    End Sub