VBAによってマクロを作成することで、押すと時間を記録できるボタンを生成できる。マクロとは、登録した処理を自動的に行ってくれる機能のことである。
目次
Excelでボタンを押すと時間を記録できるようにしたい、という方もいるのではないだろうか。Excelに搭載されているマクロ(VBA)を使うことで、このような処理は可能になる。
本記事では、Excelでボタンを押すと時間を記録する方法を解説する。マクロ(VBA)の基本的な使い方についても解説しよう。
Excelのマクロとは?
Excelのマクロとは、実行したい処理を設定することで、その処理を自動的に行ってくれる機能のことである。マクロを活用することで、Excel作業を自分で行わなくても良くなり、作業効率がアップする。
たとえば、Excelで請求書など形式が決まった書類を作成したり、メール文の作成・送信を自動で行ったりすることが可能だ。
マクロを使う際は、プログラミングスキルなどの専門知識は不要である。
関連記事:「Excelのマクロ」って何?初心者でもかんたんにできる資料作成を自動化する方法
■マクロとVBAの違い
VBAはExcelなどのオフィス製品で使われるプログラミング言語のことである。VBAを使うことで、Excelなどのオフィス製品の機能を拡張できる。
マクロとVBAは異なるものである。VBAを利用して作られるのがマクロである。マクロは機能であるのに対して、VBAはプログラミング言語を指す。
ExcelではVBAを使わなくても、マクロ作成が可能だ。VBAの知識がなくても、簡単な処理を行うマクロを作成し、作業を自動化することができる。
ただし、VBAを使わない場合、できることが限定されてしまう。VBAを使って自分で1からマクロを作成する方が、できることの幅が広がる。
関連記事:VBAとマクロの違い、説明できる?Excelの機能を上手に使い分けるコツ
Excelでボタンを押すと時間を記録できるようにする方法
「ボタンを押すと時間を記録する」といった処理を行うマクロをVBAで作成する方法を解説する。基本的な手順は次のとおり。
- マクロを登録する
- ソースコードを編集する
- ボタンを押す
- ボタン名を変更する
- 表示される日付の形式を変更する
ひとつひとつの手順について詳しく見ていこう。
■1.マクロを登録する
まず「マクロの登録」という画面を表示させる手順を解説する。
「開発」タブから「ボタン」をクリックする。環境によっては、「開発」⇒「挿入」⇒「ボタン」という手順でクリックする必要がある。

すると「マクロの登録」という画面が表示される。ここから、今から作成するマクロに関する情報を登録できる。
後で区別しやすくなるように、マクロ名を付けておこう。「マクロ名」の欄に「Time」と記入する。

関連記事:Excelのマクロを有効にするには?セキュリティ警告が表示されず有効化できない時の対処法
■2.ソースコードを編集する
続いて、VBAのソースコード(命令文)を記入するための画面を表示する。
「新規作成」をクリックする。

すると、VBAを記入するための画面が表示される。
すでにソースコードが記述されているが、以下のソースコードに変更しよう。
=================
Sub Time()
Range(“A2”).Value = Now()
End Sub
=================
NOW関数は、現在の日付を取得する関数である。NOW関数によって取得した日付を、A2のセルに表示させるようにしているのが、上記のソースコードである。

ソースコードを記入したら、保存ボタンを押す。

■3.ボタンを押す
保存ボタンを押したら、ソースコードを記述する画面を閉じて、先ほどのシートに戻る。すると、「ボタン1」と書かれたボタンが表示されていることが分かる。
「ボタン1」をクリックしてみよう。すると、以下のようにA2に日時が表示される。

■4.ボタン名を変更する
このままでも良いのだが、ボタン名を分かりやすく変更しよう。
ボタン名を「時間表示」に変更する。

■5.表示される日付の形式を変更する
今回は「ボタンを押すと時間を記録する」のが目的であり、日付は不要だ。そこで、時間だけを表示できるように、先ほど記入したソースコードに修正を加えよう。
ボタンを右クリックして、「マクロの登録」をクリックする。

修正したいマクロを選択して、「編集」をクリックする。

ソースコードを以下のように変更しよう。
=================
Sub Time()
Range(“A2”).Value = Format(Now(), “hh:mm:ss”)
End Sub
=================
先ほどと同様にNOW関数で、現在の日付を取得している。今回は更に、FORMAT関数によって、日付の書式を変換し、時間のみを切り取っている。

変更したら保存ボタンを押す。

「時間表示」を再び押してみよう。日付がなくなり、時間のみが記録されることが分かる。

まとめ
本記事では「ボタンを押すと時間を記録する」方法を解説した。最後に、VBAで「ボタンを押すと時間を記録する」マクロを作成して実行する、までの手順をおさらいしよう。
- マクロを登録する
- 「開発」⇒「ボタン」をクリック
- マクロ名を付ける
- ソースコードを編集する
- 「新規作成」をクリック
- VBAのソースコードを記入する
- 保存ボタンを押す
- ボタン名を適切なものに変更する
- ボタンをクリックし、時間が表示されることを確認する
以下は、現在の日付を記録するソースコードだ。
=================
Sub Time()
Range(“A2”).Value = Now()
End Sub
=================
こちらは、現在の時間を記録するソースコードである。
=================
Sub Time()
Range(“A2”).Value = Format(Now(), “hh:mm:ss”)
End Sub
=================
ソースコードは1文字でも間違えると正しく動作しないので注意しよう。
構成/編集部







DIME MAGAZINE











