(3)数値型変数を使う例題
エクセルだと範囲を選択してオートサムのアイコンをクリックすれば計算式が一度に作られますね。
VBAならこのように簡単にはいきません。
まず消費税という変数を定義しておきましょう。
dim 消費税 as long
変数を定義しなくても通常はつかえます。
アベノ塾ではあえてツール→オプション→編集→コードの設定→自動構文チェックにチェックをつけています。
コードの先頭にOption Explicitが常に表示しています。
これがあると変数は必ず定義しないとエラーになります。
プログラムを作っていくと変数を定義していた方がバグ(エラー)を修正しやすいのがわかってきます。
ではVBAのコードを紹介しておきます。
Sub keisan3()
Dim 消費税 As Double
Dim i As Long
消費税 = Cells(1, 4)
'1月の計算
Cells(6, 2) = Cells(3, 2) + Cells(4, 2) + Cells(5, 2)
Cells(7, 2) = Cells(6, 2) * 消費税
Cells(8, 2) = Cells(6, 2) + Cells(7, 2)
i = 1
'2月の計算
Cells(6, 2 + i) = Cells(3, 2 + i) + Cells(4, 2 + i) + Cells(5, 2 + i)
Cells(7, 2 + i) = Cells(6, 2 + i) * 消費税
Cells(8, 2 + i) = Cells(6, 2 + i) + Cells(7, 2 + i)
i = i + 1
'3月の計算
Cells(6, 2 + i) = Cells(3, 2 + i) + Cells(4, 2 + i) + Cells(5, 2 + i)
Cells(7, 2 + i) = Cells(6, 2 + i) * 消費税
Cells(8, 2 + i) = Cells(6, 2 + i) + Cells(7, 2 + i)
i = i + 1
'合計の計算
Cells(3, 2 + i) = Cells(3, 2 + i - 3) + Cells(3, 2 + i - 2) + Cells(3, 2 + i - 1)
Cells(4, 2 + i) = Cells(4, 2 + i - 3) + Cells(4, 2 + i - 2) + Cells(4, 2 + i - 1)
Cells(5, 2 + i) = Cells(5, 2 + i - 3) + Cells(5, 2 + i - 2) + Cells(5, 2 + i - 1)
Cells(6, 2 + i) = Cells(6, 2 + i - 3) + Cells(6, 2 + i - 2) + Cells(6, 2 + i - 1)
Cells(7, 2 + i) = Cells(7, 2 + i - 3) + Cells(7, 2 + i - 2) + Cells(7, 2 + i - 1)
Cells(8, 2 + i) = Cells(8, 2 + i - 3) + Cells(8, 2 + i - 2) + Cells(8, 2 + i - 1)
i = i + 1
'消費税の計算
Cells(3, 2 + i) = Cells(3, 2 + i - 1) * 消費税
Cells(4, 2 + i) = Cells(4, 2 + i - 1) * 消費税
Cells(5, 2 + i) = Cells(5, 2 + i - 1) * 消費税
Cells(6, 2 + i) = Cells(6, 2 + i - 1) * 消費税
i = i + 1
'総合計の計算
Cells(3, 2 + i) = Cells(3, 2 + i - 2) + Cells(3, 2 + i - 1)
Cells(4, 2 + i) = Cells(4, 2 + i - 2) + Cells(4, 2 + i - 1)
Cells(5, 2 + i) = Cells(5, 2 + i - 2) + Cells(5, 2 + i - 1)
Cells(6, 2 + i) = Cells(6, 2 + i - 2) + Cells(6, 2 + i - 1)
End Sub
プログラムの先頭に‘がついているのは注釈(コメント)です。
コメントアイコンをクリックするとつきます。
コメントアイコンが表示されていない場合は表示→ツールバー→編集をクリック
すると出てきます。
変数の型はアベノ塾では普通long型とstring型を使いますが今回のように小数点の場合はdouble型を使います。
小数点を使う人は始めから数値はlong型よりdouble型を使った方が楽でしょう。
今回のポイントは消費税という変数にCells(1, 4)を格納するところです。
変数iを使わず直接座標値を指定した方がわかりやすいですがi = i + 1になれてもらうことと訓練のためにあえて使いました。