Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50364 / 76732 ←次へ | 前へ→

【31257】Re:キーボードの操作
発言  Kein  - 05/11/15(火) 17:33 -

引用なし
パスワード
   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 処理の内容については全て、呼び出した普通のプロシージャのコードで行う。

という方針で組み立てることを、お勧めしています。良くご理解下さい。

0 hits

【31212】キーボードの操作 boku 05/11/14(月) 18:18 質問
【31213】Re:キーボードの操作 Kein 05/11/14(月) 19:41 発言
【31224】Re:キーボードの操作 boku 05/11/15(火) 10:38 お礼
【31230】Re:キーボードの操作 Kein 05/11/15(火) 12:59 回答
【31237】Re:キーボードの操作 boku 05/11/15(火) 13:50 質問
【31239】Re:キーボードの操作 Kein 05/11/15(火) 14:02 回答
【31241】Re:キーボードの操作 boku 05/11/15(火) 14:47 お礼
【31256】Re:キーボードの操作 boku 05/11/15(火) 17:15 質問
【31257】Re:キーボードの操作 Kein 05/11/15(火) 17:33 発言
【31260】Re:キーボードの操作 boku 05/11/15(火) 18:08 お礼

50364 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free