【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
バックナンバー
この記事が気に入ったらサポートをしてみませんか?