Excelフォームを「Enterキー」で爆速化!マウス不要の快適設定術

【業務効率化】VBA
スポンサーリンク

  • 「あぁ、もう!Enterで次に進んでよ……」
  • 「Excelのユーザーフォームを作ってみたのはいいけれど、入力するたびにマウスを持って次の項目をクリックするの、正直めちゃくちゃ面倒くさい。Enterキーを押したらパッと次の入力欄に飛んで、終わったらEscキーでサッと閉じられたら最高なのに。」
  • 「逆に効率悪くなってない……?」

そんな風に思ったことはありませんか?  

今回は、初心者の方でもコピペで簡単に実装できる「Enterキーで移動」「Escキーで閉じる」設定を分かりやすく解説します!

【業務効率化】VBAの記事を見る

なぜ「Enterキー移動」が重要なのか?

データ入力の際、手が「キーボード」と「マウス」を行き来することは、想像以上のタイムロスにつながります。

たとえば、キーボードからマウスへ持ち替えて操作を戻すのに約2秒かかると仮定してみましょう。

1つのフォームに10個の入力項目があり、1日に100件のデータを入力する場合、1日30分以上も「マウスを持つ時間」だけで損をしている計算になります。これをお昼休みに充てられたら嬉しいですよね。

Enterキーで次の項目へ移動させる方法

Excelのユーザーフォームでは、通常Enterキーは「ボタンの実行」に使われます。これを「次の項目への移動(Tabキーと同等の役割)」に変更してみましょう。

VBAには「イベント」という考え方があります。今回は「Enterキーが押されたら(イベント)、次の項目へ移動する(処理)」という命令を設定します。

【コピペで使えるVBAコード】

入力欄(TextBox1)に以下のコードを貼り付けてみてください。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   
    ' もし押されたキーが「Enterキー」だったら
    If KeyCode = 13 Then
        ' 次の入力項目(TextBox2)にフォーカスを移す
        TextBox2.SetFocus
    End If
   
End Sub

KeyCode = 13というのは、PCがEnterキーを認識するための背番号のようなものです。

Escキーでフォームを閉じる方法

入力を途中でやめたい時、わざわざ画面右上の「×」ボタンまでマウスを動かすのは少し手間ですよね。

この問題は、フォーム内にあるボタンのプロパティ(設定画面)で「Cancel属性」を活用すると簡単に解決できます。

  1. フォームにある「閉じる」ボタン(CommandButton)を選択します。
  2. 左側のプロパティウィンドウにある「Cancel」という項目を「True」にします。

これだけで、Escキーが押された際に対象のボタンが自動的に実行されるようになります。あとはボタンに以下のコードを記述しておけば完了です。


    ' 自分自身(フォーム)を閉じる
    Unload Me



【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。


この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました