以下のコードはセルを検索し見つかった場合コピーするマクロである。空欄に入る適切な語句を解答しなさい。
Sub Exam1()
Dim N As Range
Set N = Cells.【 ① 】(【 ② 】:="東京", LookAt:=xlWhole)
If Not N Is Nothing Then
N.Copy Range(”C2”)
End If
End Sub
正解
【 ① 】find
【 ② 】what
解説
セルの検索構文以下の通り
構文:セル範囲. Find (What:= 検索する語句, LookAt:= 検索一致条件の定数)
LookAt以降に検索の一致条件の定数を指定します。完全一致で検索する場合は xlWhole 部分一致で検索する場合は xlPart を指定します。
なおLookAtや以降の一致条件の定数は省略可能です。その場合前回指定した一致条件が引き継がれます。
省略可能: LookAt:= xlWholeやxlPartなどの一致条件の定数
If Not N Is Nothing Then …は検索する語句が見つかった場合はそれ以降の処理を行います。
[コード解説]
Sub Exam1()
Dim N As Range
' 検索結果を格納するためのRange型変数Nを宣言します。
Set N = Cells.Find(What:="東京", LookAt:=xlWhole)
' Findメソッドを使用して、"東京"という文字列を検索しています。
' 検索対象は、シート全体(Cells)で、完全一致を指定しています。
If Not N Is Nothing Then
' 検索結果が見つかった場合に処理を実行します。
N.Copy Range("C2")
' 見つかったセルの内容をセルC2にコピーします。
End If
End Sub