HOME > VBA広場 > Excel VBA ビギナーズ > 第12回 VBエディタでマクロをつくろう 3/5

第12回 VBエディタでマクロをつくろう 3/5

第12回 VBエディタでマクロをつくろう| 1/5  2/5  3/5  4/5  5/5 

マクロの中身を作成する

「Public Sub マクロ名()」と「End Sub」の間にプログラムを記述し、マクロを完成させていきましょう。マクロ記録で出力されるプログラムコードとの違いに、最初は違和感を覚えるかもしれませんが、記述の基本として習得できるようにしましょう。

変数の宣言

まず、使用する変数にどんなものを入れるのか、型の宣言を行います。現在の参加人数を表す変数を“myTotal”、追加する人数を“myCount”とします。ともに整数値が入力されるため、型は「整数型」として宣言します。

  1. 「Dim myTotal As Integer」と入力する。
  2. 「Dim myCount As Integer」と入力する。
    ▼図03-01 変数の宣言
    図03-01 変数の宣言

変数に値を代入する

次に、セルB5に表示されている現在の人数を、変数myTotalへ代入します。「変数名=値」という式にすると、変数に値が代入されます。
また、「’(半角シングルクォーテーション)」を付けてから文章を入力するとコメントとして認識され、マクロの実行時は無視されます。コメントをつけなくてもマクロの実行に影響はありませんが、記述するコードをわかりやすくするためにつけておくと便利です。

  1. 「'現在の参加人数を変数myTotalに取得」と入力する。
  2. 「myTotal = Range("B5").Value」と入力する。
    ※ 「Range("B5").Value」はセルB5の値(Value)という意味です。
    ▼図03-02 変数に値を代入
    図03-02 変数に値を代入

入力画面を表示する

続いて、入力画面を表示するコードを入力します。入力画面はInputBox関数を使用して表示させ、入力された値を変数myCountに代入します。

  1. 「'入力画面を表示し、新規人数を変数myCountに取得」と入力する。
  2. 「myCount = InputBox("追加人数を入力してください","人数の入力", 1)」と入力する。
    ▼図03-03 入力画面を表示
    図03-03 入力画面を表示

最新の人数を表示させる

これで、以下の操作が完了しました。

1)変数myTotalとmyCountを宣言
2)現在の参加人数を変数myTotalに代入
3)入力画面を表示し、その値を変数myCountに代入

次に、現在の参加人数と入力された人数を足し算して、その結果である最新の人数を表示させましょう。セルB5に変数myTotalとmyCountの和を表示させ、最後に更新があった時間をセルD6に入力します。

  1. 「'参加人数を、現在の参加人数に新規人数を加算した数に置きかえる」と入力する。
  2. 「Range("B5").Value = myTotal + myCount」と入力する。
    ▼図03-04 最新の人数を表示させる
    図03-04 最新の人数を表示させる
  3. 「'セルD6に現在日時を出力」と入力する。
  4. 「Range("D6").Value = Date + Time」と入力する。
    ※ Date関数は本日の日付、Time関数は現在時刻を表示する関数です。
    ▼図03-05 現在の日時を出力
    図03-05 現在の日時を出力

以上でマクロの記述は完了です。
最後にマクロを実行するためのボタンを作成し、マクロを割り当ててみましょう。

第12回 VBエディタでマクロをつくろう| 1/5  2/5  3/5  4/5  5/5