★国語の合計点を求める。
【´・ω・`】:まず国語の得点を入力するを確認しよう。
(●`ε´●):D8からD52までだ。
【´・ω・`】:それでは、国語の合計点を表示するセルは?
(●`ε´●):D53だ。
【´・ω・`】:マクロを使わないで関数でやるならばあっさりと
D53に・・・
=Sum(D8:D52)
・・・入力するだけだ。もちろん、この方が簡単なのだが
マクロのコードを書く練習だから、関数は使わない。
それでは基本事項Cells()の使い方の確認だ。
べべちゃん、D8はどう表す?
(●`ε´●):Cells(8, 4)
【´・ω・`】:うん。それではD52は?
(●`ε´●):Cells(52, 4)
【´・ω・`】:うん。A列、B列、C列・・・をそれぞれ、1列、2列、3列・・・と
見立てて・・・
Cells(行番号, 列番号)
・・・だったね。D列はこのルールでいけば4列になるから
D8はCells(8, 4)に、D52はCells(8, 52)になるというわけだ。
ここまでは大丈夫かな?
(●`ε´●):おう。
【´・ω・`】:それでは肩慣らしとして・・・
D8に60
D9に70
D10に80
D11に50
D12に90
・・・と入力されているとして、この5つのセルの
合計点を求めてみよう。
上記赤文字5行はCells()形式に直すと・・・
Cells(8, 4)に60
Cells(9, 4)に70
Cells(10, 4)に80
Cells(11, 4)に50
Cells(12, 4)に90
・・・となる。ここで合計点を表す変数を %合計 とする・・・
それでは和を求めるコードを紹介しよう。
全部で6行だ。
%合計 =0 !!変数の初期化
%合計 = %合計 + Cells(8, 4)
%合計 = %合計 + Cells(9, 4)
%合計 = %合計 + Cells(10, 4)
%合計 = %合計 + Cells(11, 4)
%合計 = %合計 + Cells(12, 4)
・・・とすればよい。ここでこの等号の意味をもう一度思い出してもらいたい。
(●`ε´●):右辺を計算して、その結果を左辺に代入する・・・だったな。
【´・ω・`】:じゃあ、解説だ。
1行目で右辺の0を左辺に代入しているのでこの左辺の%合計は
0になる。次に2行目でその0にCells(8, 4)、つまり60を加えた結果を左辺に
代入する。故に、この左辺の%合計は60になる。次に3行目でその60に
Cells(9, 4)、つまり70を加えた結果を左辺に代入する。故に、この左辺の
%合計は130になる。次に4行目でその130にCells(10, 4)、つまり80を
加えた結果を左辺に代入する。故に、この左辺の%合計は210になる。
(●`ε´●):パターンが見えてきたな。次は俺が言おう。
5行目でその210にCells(11, 4)、つまり50を加えた結果を左辺に代入する。
故に、この左辺の%合計は260になる。そして最後に6行目で
その260にCells(12, 4)、つまり90を加えた結果を左辺に代入する。
故に、この左辺の%合計は350になる。この350が答えだ。
【´・ω・`】:この説明のように同じことを繰り返すのはかったるい。
これをForループを使って書くとすっきりする。Forループに
ついては15パズル(7)、15パズル(8)、15パズル(9)を参考にしてくれ。
国語の合計点を表す変数を %国語 とすると・・・
%国語=0
For %i = 8 To 52
%国語 = %国語 + Cells(%i, 4)
Next
・・・となる。
(続く)
コメント