名称未設

【ExcelVBA公開模試】複数のシートを変数としてセットして転記する

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

問題

2枚のシートからなるExcelファイルがある(図1、図2)。1枚目のシートにある16人の選手のデータのなかから打率2割6分以上の選手と、ホームラン10本以上の選手をそれぞれ抽出して、2枚目のシートにチームIDと選手名を表示したい(図3)。次のコードを完成させなさい。

Sub moshi()
   Dim ws1, ws2
   
   cnt1 = 0
   cnt2 = 0


End Sub

<図1>

<図2>

<図3:完成イメージ>

わえなび式 正解例

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

目標回答時間

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

この問題の出題範囲

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

ご案内

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

正解例

Sub moshi()
   Dim ws1, ws2 As Worksheet
   Set ws1 = Sheets(1)
   Set ws2 = Sheets(2)
   cnt1 = 0
   cnt2 = 0
   For i = 2 To 17
       team = ws1.Cells(i, 1)
       player = ws1.Cells(i, 3)
       If ws1.Cells(i, 5) >= 0.26 Then
           cnt1 = cnt1 + 1
           ws2.Cells(cnt1 + 3, 1) = team
           ws2.Cells(cnt1 + 3, 2) = player
       End If
       If ws1.Cells(i, 6) >= 10 Then
           cnt2 = cnt2 + 1
           ws2.Cells(cnt2 + 3, 4) = team
           ws2.Cells(cnt2 + 3, 5) = player
       End If
   Next
End Sub

バックナンバー


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