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

时间:2015-01-13 12:05:51

标签: excel-vba vba excel

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这应该做你想要的。这将做两件事:

  • _SelectionChange事件中保存所选内容的值。

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

  • 如果选择为“是”,则新更改为“否”(检查上下)

  • 显示消息

变量必须超出任何一个变更事件的范围。

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