VBA功能在一段时间内改变值时发出警报

Sma*_*EGA 0 excel vba excel-vba

我有一个excel单元格,其值每分钟更新一次.

我需要的是一个警告信息框; 而那个单元格值移动到特定时间.

假设一个单元格的值为10:

  • 如果它在一分钟内达到7,那么我需要一个消息框来提醒它.

  • 如果它在一分钟内没有达到7,那么我不需要任何警报.

请帮我写一个宏.

sha*_*esh 5

在ThisWorkBook的VBA编辑器中,您可以编写以下代码

Dim WithEvents SheetToWatch As Worksheet

Private Sub SheetToWatch_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
    If Target.Value = 7 Then
        MsgBox "changed to 7"
    End If
End If
End Sub
Private Sub Workbook_Open()
    Set SheetToWatch = Sheets("Sheet1")
End Sub
Run Code Online (Sandbox Code Playgroud)

基本上,代码SheetToWatch在工作簿打开时将Sheet1的引用设置为变量.使用声明变量WithEvents可以捕获事件.

我正在使用Change工作表的事件并检查更改的单元格是否为A2.如果是这样,我正在检查或比较值7(它可以是动态的,取决于你想如何处理它).

看看这是否有帮助.