名称未設

【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

バックナンバー


この記事が気に入ったらサポートをしてみませんか?