セル編集中にマクロを動かす
セルの編集中にマクロを動かしたい、という要望があります。たとえば、入力中の文章を自動でコピーしたり、ある特定の文字を入力したらメッセージを出したり。
また、通常のキーボード入力では出ないような文字(たとえばハングルなど)を入力したい場合です。
セルの編集中というのはこういう状態です。
この時にマクロを動かす、という方法ですが、実は出来ません。これはExcelの仕様です。
ではどうするか
編集中にマクロを動かしたい、という事はマクロ実行後に編集モードになっていればいいのではないですか?ケース・バイ・ケースではありますが、大体それで解決しそうな気がします。
編集モードに戻すにはF2キーを叩けば編集モードになるので、それを送るだけですね。
SendKeys "{F2}"
流れとしては一旦セル確定して、例えばWorksheet_Changeでも良いですし、マクロを動かす。
で、その動かしたマクロの最後にSendKeys “{F2}”を入れる。もちろんセル選択を編集してたセルに戻ってからですけどね。
一旦、編集確定させた後、マクロ動かし、また編集モードに戻すことで編集中にマクロ動かしたように錯覚する・・・かも?
関連記事
- 前の記事
- エクセルの入試問題
- 次の記事
- マクロをCtrl+じゃないショートカットキーで起動する