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

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

次のコードは実行すると「Banana」と表示するマクロである。

以下の空欄に入る適切な語句を入力しなさい。

Sub Exam1()

Dim A As Range

Set A = Range("A2:A10").Find(What:="【  ①  】", Lookat:= xlWhole)

MsgBox A.Offset(0, 1)

End Sub

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

【  ①  】9

解説

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

What:=以降に検索する値を指定します。

部分一致で検索する時はLookat:=に定数「xlPart」を指定し、完全一致で検索する時は 「xlWhole」を指定します。

【Offsetプロパティ】

基準となるセルからみていくつめの行数・列数かを決めて、セルを指定します。

Offsetプロパティの基点となるセルの位置は(0,0)で行, 列です。

右に一つ目のセルは(0,1) 下に一つ目のセルは(1,0)という具合に指定します。

構文 セル.Offset(行, 列)

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

【コード解説】

Sub Exam1()

Dim A As Range

'オブジェクト変数の型指定をする。

Set A = Range("A2:A10").Find(What:="9", Lookat:= xlWhole)

'オブジェクト変数に「9」を完全一致で指定のセル範囲から検索して代入する。

MsgBox A.Offset(0, 1)

'1行右のセルの値をメッセージで表示する。

End Sub