![名称未設](https://assets.st-note.com/production/uploads/images/8990652/rectangle_large_type_2_b1107195dac49b8447452f4c982246fa.jpg?width=1200)
【ExcelVBA公開模試】For文で合計を求めるのは基本です
文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。
問題
次の図1で、赤色の枠線(セル範囲B2:J2,B3:I3)は空白または0以上の整数が入力されている。ExcelVBAを用いて合計得点を求めようとしている。次の処理をそれぞれ実行しなさい。
(1)K2,K3に、2行目と3行目の合計をそれぞれ求めなさい(図2)。
(2)赤色の枠線のすべてのセルに数値が入力され、かつ、3行目の合計が、2行目の合計より大きい場合、合計を表示するのと同時に、セルJ3に×印が付くようにしたい(図3)。設問(1)のコードに5行程度追加しなさい。
<図1>
<図2>
<図3>
わえなび式 正解例
(このページの下にあります)
目標回答時間
プロ5分以内、アマチュア10分以内に処理ができたら合格
この問題の出題範囲
「速読VBA単語」Program3-4まで
ご案内
ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。
正解例
Sub kakko1()
tora = 0
koi = 0
For i = 2 To 10
tora = tora + Cells(2, i)
Next
For i = 2 To 9
koi = koi + Cells(3, i)
Next
Range("K2") = tora
Range("K3") = koi
End Sub
最初に、変数batsuに「×」を代入しておきます。×印をつけない条件は空白が見つかった場合と、虎が鯉以上の場合です。
Sub kakko2()
tora = 0
koi = 0
batsu = "×"
For i = 2 To 10
tora = tora + Cells(2, i)
If Cells(2, i) = "" Then batsu = ""
Next
For i = 2 To 9
koi = koi + Cells(3, i)
If Cells(2, i) = "" Then batsu = ""
Next
Range("K2") = tora
Range("K3") = koi
If tora >= koi Then batsu = ""
Range("J3") = batsu
End Sub
バックナンバー
この記事が気に入ったらサポートをしてみませんか?