セル編集中にマクロを動かす

セルの編集中にマクロを動かしたい、という要望があります。たとえば、入力中の文章を自動でコピーしたり、ある特定の文字を入力したらメッセージを出したり。
また、通常のキーボード入力では出ないような文字(たとえばハングルなど)を入力したい場合です。

セルの編集中というのはこういう状態です。

セル内でカーソルが点滅している
数式バーでカーソルが点滅している

この時にマクロを動かす、という方法ですが、実は出来ません。これはExcelの仕様です。

 

ではどうするか

編集中にマクロを動かしたい、という事はマクロ実行後に編集モードになっていればいいのではないですか?ケース・バイ・ケースではありますが、大体それで解決しそうな気がします。

編集モードに戻すにはF2キーを叩けば編集モードになるので、それを送るだけですね。

流れとしては一旦セル確定して、例えばWorksheet_Changeでも良いですし、マクロを動かす。

で、その動かしたマクロの最後にSendKeys “{F2}”を入れる。もちろんセル選択を編集してたセルに戻ってからですけどね。

一旦、編集確定させた後、マクロ動かし、また編集モードに戻すことで編集中にマクロ動かしたように錯覚する・・・かも?

コメントをどうぞ

メールアドレスが公開されることはありません。

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

TODAY バーコード グラフ コピペ テンプレート STDEV XLSTART DATE VLOOKUP 図形 印刷 偏差値 NA() 置換 作業効率UP 無料 検索 日付 変換 ユーザー定義関数 目標 COLUMN ワイルドカード SUMIF HLOOKUP SUM COUNTIF 条件付き書式 セル選択 フロー図
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑