我正在尝试在用户单击单元格时生成 MsgBox。该单元格当前有一个名称。我编写了以下代码,但没有看到警报。
Sub Send_Alert()
If ActiveCell.Name.Name = "Name01" Then
MsgBox "You have clicked"
End If
End Sub
我哪里做错了?
答案1
您的子程序未被评估。需要调用您的子程序才能运行代码。
您需要从事件中调用子程序或代码。事件由系统中断(例如鼠标移动)或在更抽象的层面上调用(例如按钮被点击或单元格发生变化时)。
为了达到您的目的,您可能需要使用 SelectionChange 事件。请记住,此事件发生很多并可能减慢您的系统速度,甚至完全锁定 Excel。如果您在另一个打开的工作簿中更改选择,也会调用该事件。请确保您的代码仅在需要时执行。如果速度不可避免地变慢,请尝试使用 Application.ScreenUpdating = False ; ... 其他代码 ... ; Application.ScreenUpdating = True,将屏幕更新推迟到所有代码执行完毕之后(如果您仅调用 msgbox,则可能不需要)。