|
0nKeyプロパティ自体を制御したければ、設定するイベントマクロを変更した
方がいいでしょう。例えば
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Application.OnKey "{DELETE}", "AAA"
Else
Application.OnKey "{DELETE}"
End If
End Sub
などとします。これをシートモジュールに入れる代わりに
Private Sub Worksheet_Activate()
のマクロは削除して下さい。別にバッティングするからではないですが、
シートをアクティブにすることと、OnKeyプロパティの設定とが関係無くなる
からです。なお、Private Sub Worksheet_Deactivate() で設定を解除する
コードは、残しておいた方が良いでしょう。仮に A列を選択したまま他のシートに
移ると、OnKeyが解除されていない状態のままなので、そのシート上でもイベント
が発生するからです。
あと、当然ですが呼び出される側の AAA は、元のコードに戻しておいて下さい。
今回の件は
1 OnKey の設定に関しては適切なイベントマクロを使う。
2 処理の内容については全て、呼び出した普通のプロシージャのコードで行う。
という方針で組み立てることを、お勧めしています。良くご理解下さい。
|
|