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

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

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

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

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

 

ではどうするか

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

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

SendKeys "{F2}"

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

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

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

コメントをどうぞ

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

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

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

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


PAGE TOP ↑