按一下或選取儲存格時執行巨集

按一下或選取儲存格時執行巨集

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

在此輸入影像描述

相關內容