目次
使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- ソフト:Microsoft Excel VBA
経緯
Excel作業を自動化する中で、
**「セルを編集モードにして(F2キー)、確定する(Enterキー)」**という操作をVBAで実現したくなり、
今回、その方法について学びました。
解決方法:SendKeysを使う
VBAには、キーボード入力を擬似的に送信する「SendKeys」メソッドが用意されています。
これを使うことで、F2キー押下 → Enterキー押下を自動で実行できます。
コード例(F2キー → Enterキーを押す動作)
SendKeys "{F2}", True
SendKeys "{ENTER}", True
コード解説
- 1行目:
SendKeys "{F2}", True
セルを編集モードに入るため、F2キーを押す動作を送信します。 - 2行目:
SendKeys "{ENTER}", True
編集確定のため、Enterキーを押す動作を送信します。
それぞれTrueを指定することで、キー送信が完了するまでVBAが待機するようになります。
この待機を入れておくと、キーイベントが正しく処理されやすくなります。
ポイントまとめ
SendKeysは「擬似的なキー入力」をプログラムで再現できます。- F2キーは**
"{F2}"、Enterキーは"{ENTER}"**と記述します。 Trueをつけることで、キー入力が完了するまでVBAが次に進まないようにできます。
まとめ
VBAで「F2キー」+「Enterキー」を押す動作を実現したい場合は、
SendKeys "{F2}", TrueSendKeys "{ENTER}", True
この2行を組み合わせることで簡単に再現できます。
Excel上での編集確定作業などを自動化したい場合に非常に便利なテクニックです。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
