次のコードは、セルを検索し見つかったセルを起点に1列右に”関東”を代入するマクロである。空欄に入る適切な語句を解答しなさい。
Sub Exam1()
Dim A As Range
Set A = Range("A:A"). Find (What:="東京")
If A Is Nothing Then
MsgBox "見つかりません"
Else
A.【 ① 】(0, 1) = "関東"
End If
End Sub
正解
【 ① 】offset
解説
・見つかったセルを起点にし、周囲にある別のセルを操作する時はOffsetを使用します。
構文 基点セル.Offstt(行,列)
1列下へ、または1行右へは 1 を指定する
1列上へ、または1行左へは -1(マイナス)を指定する
0は現在のセルの位置となります。
セル範囲を変更するResizeと似ているので違いを整理しますと、上下左右の値の増減は上記と同じですが、
・Offset 基点セルから、セルを指定する。 基点セルの位置は(0、0)
・Resize 基点セルから、セル範囲を変更する。 基点セルの位置は(1、1) です。
[コード解説]
Sub Exam1()
Dim A As Range
' 検索結果を格納するためのRange型変数Aを宣言します。
Set A = Range("A:A").Find(What:="東京")
' Findメソッドを使用して、列A全体から"東京"という文字列を検索します。
' 見つかったセルを変数Aに設定します。
If A Is Nothing Then
' "東京"が見つからなかった場合、メッセージボックスで通知します。
MsgBox "見つかりません"
Else
' "東京"が見つかった場合、そのセルの1列右のセルに"関東"を代入します。
A.Offset(0, 1) = "関東"
End If
End Sub