当我尝试更改 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
当任何人将 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