• ベストアンサー

【緊急】エクセルVBA(2003)でのショートカットキーの無効化について

助けてください。 現在、エクセル2003のVBAで開発をしています。 ctrl+Z や CTRL+Y のようなショートカットキーを無効にしたいのですが 方法がいまひとつ解かりません。 どなかた、初心者にも理解できるレベルで説明願えないでしょうか。 よろしくお願いいたします!

質問者が選んだベストアンサー

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

ダミーの関数(中身は空)を作成して、マクロのショートカットキーを割り当てたら無効にできました。 例えばこんなダミー関数を作成。 sub CtrlZ end sub メニューの [ツール]-[マクロ]-[マクロ] から CtrlZ に Ctrl+z を割り当てる。 この方法が一般的かはわかりません。

koshiibuki
質問者

補足

ワークシートだと確かに無効に出来ましたが、VBAでは無効になりませんでした。 お忙しいところ申し訳ありませんが、出来ましたらもう少し詳しくご説明お願いします。

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

無効:Application.OnKey "{F1}", ""  有効(初期値に戻す):Application.OnKey "{F1}" マクロ設定:Application.OnKey "{F1}", "マクロ名"  の方法で、ショートカットのコントロールが可能です。

参考URL:
http://www.excel7.com/chotto10.htm
koshiibuki
質問者

お礼

残念ですがオペレーションで対応することにしました。 回答ありがとうございました。

koshiibuki
質問者

補足

言葉が足りなくて申し訳ありません。 エクセルのワークシートでは無く、フォームでのショートカットキーの操作を無効にしたいのです。 良い方法がございましたらお教え願えますでしょうか?

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

#1です。 >ワークシートだと確かに無効に出来ましたが、VBAでは無効になりませんでした。 VBAでは、というのが良くわかりません。 フォーム上で、とかそういうことでしょうか? それとも Visual Basic Editor 上でってことですか? 補足お願いします。

koshiibuki
質問者

お礼

残念ですがオペレーションで対応することにしました。 回答ありがとうございました。

koshiibuki
質問者

補足

言葉が足りなくて申し訳ありません。 ttyp03氏のおっしゃるとおり、フォーム上でということです。 application.onkey = "^Z" , "" も試しましたが、これもワークシート上でのみしか効きませんでした。

関連するQ&A