当我尝试更改 EXCEL 中单元格的值时如何获取警告框或消息框

how to get alert box or message box when i try to change the value of a cell in EXCEL

当任何人将 excel 中单元格的值从 "Yes" 更改为 "No" 时,我想得到一个警告框或消息框。 任何人都可以帮助我实现这一目标吗?

Public Sub Worksheet_change(ByVal Target As Range)

Dim YourCell As Range
Set YourCell = Cells(1, 1)

If YourCell.Value = "No" Then
MsgBox ("YourAllert"), vbExclamation

End If

End Sub

这应该可以满足您的需求。它会做两件事:

  • _SelectionChange 事件中保存选择的值。

  • 启动一个单独的 _Change 事件并获取更新值。

  • 如果选择是 "YES",并且新的更改是 "NO"(检查 Upper-Lower)

  • 显示消息

变量需要在任一更改事件的范围之外。

Dim oldValue As Variant

选择改变事件:

Public Sub Worksheet_SelectionChange(ByVal Target As Range)

    oldValue = Target.Value

End Sub

变化事件:

Public Sub Worksheet_change(ByVal Target As Range)
    If LCase(oldValue) = "yes" And LCase(Target.Value) = "no" Then
        MsgBox ("The value of " & Target.Address & " has changed from " & oldValue & " to: " & Target.Value)
    End If

End Sub