ExcelVBAのイベント機能を活用方法を、作業日誌を簡単操作で記録できるツールの作成例をもとに紹介してみようと思います。
【イベント機能とは】
初心者の方向けに、ExcelVBAのイベント機能についてざっくり説明すると
「イベント(特定のExcel上での操作)を検知して、マクロを実行する機能」です。
イベントとは例えば
・セルをクリック
・セルをダブルクリック
・セルの内容を変更
・シートを切り替える
などなど、他にたくさんありますが、これらのようなExcel上での操作のことを指します。
例えば、以下のような操作がイベント機能活用によるマクロ実行になります。
『セル[B3]をダブルクリックしたら、セル[B3]の値をセル[A1]に入力する』
『セル[B3]をダブルクリック』・・・この部分がイベントの検知
『セル[B3]の値をセル[A1]に入力する』・・・この部分がマクロ実行
になります。
【活用例】
文章がくどいと感じたら、今回の作成例の全体を説明したものを動画にまとめていますので、こちらを御覧ください。
下記ではこのイベント機能活用によるマクロ操作について2つ例を上げてみます。
1つ目の例として
「ダブルクリックしたセルの値を、特定のセルに設定する」です。
動画内ではセル「F3:F12」に作業名のうち「作業A」をダブルクリックする(画像1)と、「B10」に「作業A」が登録されます(同時に前の作業の終了時間、次の作業の開始時間が登録される)。
このようにすることで、セル「B10」に次の作業名を手入力する必要がなく、セル「F3:F12」から選んでダブルクリックするだけの作業となるので、Excelの操作スピードが上がります。
↓画像1
↓画像2
2つ目の例として
「セルの値が変更されたら、その値を特定の位置に設定する」です
動画内では、次の作業としてセル「B12」に「トイレ(小)」と手入力すると、セル「F3~」にある登録作業名に「トイレ(小)」が自動的に新規登録されます。
セル「F3~」にあるダブルクリックで選んでくることが出来る作業名リストに自動的に新規に追加する便利な機能がこのように再現できます。
↓画像3
↓画像4
【まとめ】
ExcelVBAのイベント機能の活用例のほんの一部を紹介しました。
今回の記事では「機能と活用例」の紹介にとどめ、実際にどのようなコードを書けばいいのかは割愛させていただきました。
希望などがあれば、そちらも紹介していこうと思います。
今回紹介に用いたExcelブック「楽々作業日誌.xlsm」は出品中ですので、是非ご購入の検討のほどよろしくおねがいします。
また、今回の例のようなVBAのコーディングに関してご質問、ご相談がありましたら気軽にご連絡をお願いします。