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

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

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

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

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

 

ではどうするか

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

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

SendKeys "{F2}"

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

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

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

コメントをどうぞ

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

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

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

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

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


PAGE TOP ↑