Excel VBA スタンダード 模擬問題 模擬試験

Excel VBA スタンダード 模擬問題 第6章 第1問 公開問題

次のコードは、指定のセル範囲内で「Banana」という値を検索し、そのセルをコピーしてセルの背景を黄色にするマクロである。

空欄に入る適切な語句を解答しなさい。

Sub Exam1()

 Dim N As Range

  Set N = Range("B2:B10").【  ①  】(【  ②  】:="Banana", Lookat:=xlWhole)

   If Not N Is Nothing Then

    N.Copy Range("C2")

   Range("C2").Interior.Color = vbYellow

  End If

End Sub

excel-vba-standard-test-cell-search-autofilter13
正解

【6章 検索とオートフィルター】

【  ① 】find 【  ②  】what

解説

【セルの検索】
セルの検索の構文は以下の通りです。

構文:セル範囲. Find (What:= 検索する語句, LookAt:= 検索一致条件の定数)

Findメソッドの引数には、What:= 検索する語句は必ず指定します。

LookAt以降には検索の一致条件の定数を指定します。

完全一致で検索する場合は xlWhole を、部分一致で検索する場合は xlPart を指定しますが省略も可能です。

なお記述を省略した場合は前回指定した一致条件が引き継がれます。

excel-vba-standard-test-cell-search-autofilter

【コード解説】

Sub Exam1()

 Dim N As Range

  Set N = Range("B2:B10").Find(What:="Banana", Lookat:=xlWhole)

'指定の範囲 の中から "Banana" を検索し、見つかったセルをオブジェクト変数 N に格納します。Lookat:=xlWhole は完全一致で検索するために設定しています。

   If Not N Is Nothing Then

'条件分岐 もし見つかった場合は以下の処理を実行します。

    N.Copy Range("C2")

'見つかったセルをC2コピーします。

   Range("C2").Interior.Color = vbYellow

'C2 セルの色を黄色に設定します。

  End If

End Sub