Home » ExcelVBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの最終セルを取得・選択する

CurrentRegionの最終セルを取得・選択する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

アクセスログを眺めていて、
「currentregion 右下のセルを選択」
という検索キーワードに気づきました。

CurrentRegionの最終セルを取得・選択する

RangeオブジェクトのCurrentRegionプロパティで取得した、アクティブセル領域の最終セルである、一番右下のセルを選択するには、どのようなコードを書けばいいのかを探していた方による検索でしょう。

[スポンサードリンク]

CurrentRegionの最終セルを選択するサンプルマクロ

以下のSubプロシージャを実行するとA1セルを含むアクティブセル領域の、最終セルが選択されます。


Sub CurrentRegionの最終セルを選択する()
 Range("A1").CurrentRegion(Range("A1").CurrentRegion.Count).Select
End Sub

流石に横に長く読み辛いので、With文にすると、以下のとおりです。


Sub CurrentRegionの最終セルを選択する_With()
 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

 Dim cnt As Long
 cnt = area.Count

 Dim last As Range
 Set last = area.Item(cnt)
 last.Select
End Sub

CurrentRegionの各セルを順番に選択するサンプルマクロ

特にRangeオブジェクトのItemプロパティに慣れていない方は、

CurrentRegionの最終セルを取得・選択する

以下のSubプロシージャも実行してみることをおすすめします。


Sub CurrentRegionのセルを順番に選択する()
 Dim area As Range
 Set area = Range("A1").CurrentRegion

 Dim cnt As Long
 cnt = area.Count

 Dim i As Long
 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 » ExcelVBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの最終セルを取得・選択する

TrackBack:2

TrackBack URL
CurrentRegionの先頭セルを取得する from インストラクターのネタ帳
Range.CurrentRegion(1)というオブジェクト式で、アクティブセル領域の先頭セルを表すRangeオブジェクトを取得できます。
CurrentRegionで取得したRangeコレクションから単独のRangeを取得する場合の謎 from インストラクターのネタ帳
CurrentRegionで取得したRangeコレクションから、既定プロパティで単独のRangeを取得する場合、上位オブジェクトの指定方法によって挙動が変...

Home » ExcelVBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの最終セルを取得・選択する

「CurrentRegionプロパティ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.