![名称未設](https://assets.st-note.com/production/uploads/images/9377286/rectangle_large_type_2_42ba08099db8364622ecc96c345d147a.jpeg?width=1200)
【ExcelVBA公開模試】1次元配列の要素を検索値とする
文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。
問題
A1:A100にランダムに文字が入力されている(図1)。「東南西北白緑中」を含むセルに*印をつけたい(図2)。次のコードの続きを記述して完成させなさい。ただし、Splitの第1引数の文字列は増える可能性がある。
Sub moshi()
hairetsu = Split("東,南,西,北,白,緑,中", ",")
End Sub
<図1>
<図2:完成イメージ>
わえなび式 正解例
(このページの下にあります)
目標回答時間
プロ2分以内、アマチュア10分以内に処理ができたら合格
この問題の出題範囲
「速読VBA単語」Program3-7まで
ご案内
ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。
正解例
Splitは要素数不明の時に使うことが多いので、最大要素番号をUboundで取得しておく。
Sub moshi()
hairetsu = Split("東,南,西,北,白,緑,中", ",")
hairetsu_max = UBound(hairetsu)
For i = 1 To 100
For j = 0 To hairetsu_max
If Cells(i, 1) Like "*" & hairetsu(j) & "*" Then
Cells(i, 2) = "*"
Exit For
End If
Next
Next
End Sub
バックナンバー
この記事が気に入ったらサポートをしてみませんか?