対象:Excel 2010, Excel 2013, Windows版Excel 2016
アクセスログを眺めていて、
「currentregion 右下のセルを選択」
という検索キーワードに気づきました。
RangeオブジェクトのCurrentRegionプロパティで取得した、アクティブセル領域の最終セルである、一番右下のセルを選択するには、どのようなコードを書けばいいのかを探していた方による検索でしょう。
[スポンサードリンク]
CurrentRegionの最終セルを選択するサンプルマクロ
以下のSubプロシージャを実行するとA1セルを含むアクティブセル領域の、最終セルが選択されます。
Sub CurrentRegionの最終セルを選択する()
Range("A1").CurrentRegion(Range("A1").CurrentRegion.Count).Select
End Sub
流石に横に長く読み辛いので、With文にすると、以下のとおりです。Range("A1").CurrentRegion(Range("A1").CurrentRegion.Count).Select
End Sub
Sub CurrentRegionの最終セルを選択する_With()
With Range("A1").CurrentRegion
.Item(.Count).Select
End With
End Sub
With Range("A1").CurrentRegion
.Item(.Count).Select
End With
End Sub
CurrentRegionの最終セルを選択するSubプロシージャを分解する
上記のSubプロシージャの意味が理解できないという方は、変数を使って分解しましょう。
Sub CurrentRegionの最終セルを選択する_オブジェクト変数()
Dim area As Range
Set area = Range("A1").CurrentRegion
Set last = area.Item(cnt)
last.Select
End Sub
Dim area As Range
Set area = Range("A1").CurrentRegion
Dim cnt As Long
cnt = area.Count
Set last = area.Item(cnt)
last.Select
End Sub
CurrentRegionの各セルを順番に選択するサンプルマクロ
特にRangeオブジェクトのItemプロパティに慣れていない方は、
以下のSubプロシージャも実行してみることをおすすめします。
Sub CurrentRegionのセルを順番に選択する()
Dim area As Range
Set area = Range("A1").CurrentRegion
For i = 1 To cnt
area.Item(i).Select
MsgBox area.Item(i).Address(False, False)
Next i
End Sub
Dim area As Range
Set area = Range("A1").CurrentRegion
Dim cnt As Long
cnt = area.Count
For i = 1 To cnt
area.Item(i).Select
MsgBox area.Item(i).Address(False, False)
Next i
End Sub
Range.CurrentRegionプロパティで取得できる、コレクションとしてのRangeオブジェクトに含まれる、単独のセルをRange.Itemプロパティを使って順番に取得しているプロシージャです。
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの最終セルを取得・選択する