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

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

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

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

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

 

ではどうするか

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

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

SendKeys "{F2}"

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

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

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

コメントをどうぞ

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

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

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

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

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


PAGE TOP ↑