VBA,不断监听满足特定条件的单元格变化

VBA, constantly listen to changes in cells that meet specific criteria

我是 VBA 的新手,我有一个包含股票数据的 excel sheet。

当 C 列中的数字介于 [-4;4] 之间时,应弹出一个消息框,显示 A 列中的股票代码和 B 列中的名称,以及 C 列中的数字。

例如此时C列的Google值为-1,则消息框会显示:GoogleAlphabet Inc -1 [本例中:Googl(column A)、Alphabet Inc(B列),-1(变化值为C列).

请帮帮我,非常感谢!

将此事件更改侦听器插入到您的 Sheet(例如 Sheet1)。 Target.Column 是您的 C 列(传递正确的列号)

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.column = 3 And Target.value >= -4 And Target.value <= 4 Then
    Call MsgBoxMacro(Target.value, Target.column, Target.row)
  End If
End Sub

然后添加新宏(右击->插入->新模块)。将单元格值传递给它。

Sub MsgBoxMacro(value, column, row)
    MsgBox "Ticker: " & Cells(row, column - 2) & vbNewLine & "Stock Name: " & Cells(row, column - 1) & vbNewLine & "Variable Value: " & value
End Sub