
我試圖在用戶單擊單元格時生成 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,則可能不需要)。