名称未設

【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

バックナンバー


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