マクロの中身を作成する
「Public Sub マクロ名()」と「End Sub」の間にプログラムを記述し、マクロを完成させていきましょう。マクロ記録で出力されるプログラムコードとの違いに、最初は違和感を覚えるかもしれませんが、記述の基本として習得できるようにしましょう。
変数の宣言
まず、使用する変数にどんなものを入れるのか、型の宣言を行います。現在の参加人数を表す変数を“myTotal”、追加する人数を“myCount”とします。ともに整数値が入力されるため、型は「整数型」として宣言します。
- 「Dim myTotal As Integer」と入力する。
- 「Dim myCount As Integer」と入力する。
▼図03-01 変数の宣言
変数に値を代入する
次に、セルB5に表示されている現在の人数を、変数myTotalへ代入します。「変数名=値」という式にすると、変数に値が代入されます。
また、「’(半角シングルクォーテーション)」を付けてから文章を入力するとコメントとして認識され、マクロの実行時は無視されます。コメントをつけなくてもマクロの実行に影響はありませんが、記述するコードをわかりやすくするためにつけておくと便利です。
- 「'現在の参加人数を変数myTotalに取得」と入力する。
- 「myTotal = Range("B5").Value」と入力する。
※ 「Range("B5").Value」はセルB5の値(Value)という意味です。▼図03-02 変数に値を代入
入力画面を表示する
続いて、入力画面を表示するコードを入力します。入力画面はInputBox関数を使用して表示させ、入力された値を変数myCountに代入します。
- 「'入力画面を表示し、新規人数を変数myCountに取得」と入力する。
- 「myCount = InputBox("追加人数を入力してください","人数の入力", 1)」と入力する。
▼図03-03 入力画面を表示
最新の人数を表示させる
これで、以下の操作が完了しました。1)変数myTotalとmyCountを宣言
2)現在の参加人数を変数myTotalに代入
3)入力画面を表示し、その値を変数myCountに代入
次に、現在の参加人数と入力された人数を足し算して、その結果である最新の人数を表示させましょう。セルB5に変数myTotalとmyCountの和を表示させ、最後に更新があった時間をセルD6に入力します。
- 「'参加人数を、現在の参加人数に新規人数を加算した数に置きかえる」と入力する。
- 「Range("B5").Value = myTotal + myCount」と入力する。
▼図03-04 最新の人数を表示させる
- 「'セルD6に現在日時を出力」と入力する。
- 「Range("D6").Value = Date + Time」と入力する。
※ Date関数は本日の日付、Time関数は現在時刻を表示する関数です。▼図03-05 現在の日時を出力
以上でマクロの記述は完了です。
最後にマクロを実行するためのボタンを作成し、マクロを割り当ててみましょう。