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