名称未設

【ExcelVBA公開模試】2次元配列の一部だけ出力

文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。

問題

図1のようにA1:G10にランダムに数値が入力されている。これらを2次元配列に格納したうえで、各行の合計を求めて、合計が40以上である行をA16以降に出力しなさい(図2)。ただし、合計が40以上の行が無ければ出力せずに終了する。

<図1>

<図2:完成イメージ>

わえなび式 正解例

(このページの下にあります)

目標回答時間

プロ3分以内、アマチュア10分以内に処理ができたら合格

この問題の出題範囲

「速読VBA単語」Program3-7まで

ご案内

ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。

正解例

Sub moshi()
    a = Range("A1:G10")
    Dim b(1 To 10, 1 To 8)
    cnt = 1
    For i = 1 To 10
        gokei = 0
        For j = 1 To 7
            gokei = gokei + a(i, j)
        Next
        If gokei >= 40 Then
            For j = 1 To 7
                b(cnt, j) = a(i, j)
            Next
            b(cnt, 8) = gokei
            cnt = cnt + 1
        End If
    Next
    If cnt > 1 Then Range("A16").Resize(cnt - 1, 8) = b
End Sub

バックナンバー


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