セルをクリックまたは選択したときにマクロを実行する

セルをクリックまたは選択したときにマクロを実行する

ユーザーがセルをクリックしたときに 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 のみを呼び出す場合はおそらく必要ありません)。

ここに画像の説明を入力してください

関連情報