Excel VBAの覚え書(Endプロパティ編)
■RangeオブジェクトのEndプロパティ
Rangeオブジェクトのプロパティは多岐に亘りますが、中でもEndプロパティは少し毛色が変っているので、(頻繁に使っているにも拘らず)なかなか使い方を覚えられなくて困ります。
ということで、本稿はEndプロパティに絞った「覚え書」です。
Endプロパティの詳細
Microsoftのサイトで「Endプロパティ」を調べると、以下のように記載されています。
- 集計元範囲を含む領域の終わりにあるセルを表すRangeオブジェクトを返します。
- End+上方向キー、End+下方向キー、End+左方向キー、End+右方向キーのいずれかを押す操作と同等です。
- 読み取り専用のRangeオブジェクト。
オブジェクト・ブラウザでEndプロパティを参照すると以下のように定義されており、確かに戻り値がRangeオブジェクトであることがわかります。
- Property End(Direction As XlDirection) As Range
引数として指定できるXlDirection列挙体は下表の通りです。
名前 | 値 | 説明 |
---|---|---|
xlDown | -4121 (&HFFFFEFE7) | 下へ |
xlToLeft | -4159 (&HFFFFEFC1) | 左へ |
xlToRight | -4161 (&HFFFFEFBF) | 右へ |
xlUp | -4162 (&HFFFFEFBE) | 上へ |
■Endプロパティの使用方法
Endプロパティの代表的な使い方は、以下の通りです。
開始行の取得
データが格納されている領域の開始行を取得したい場合、ワークシートの先頭行のセルを指定して、「下へ」向って参照します。
⇒データが何も入っていないワークシートで以下のコードを実行した場合、取得される値はワークシートの最下行(『1048576』)になります。
- sht.Cells(1, 1).End(xlDown).Row
最終行の取得
データが格納されている領域の最終行を取得したい場合、ワークシートの最下行のセルを指定して、「上へ」向って参照します。
⇒データが何も入っていないワークシートで以下のコードを実行した場合、取得される値はワークシートの先頭行(『1』)になります。
- sht.Cells(sht.Rows.Count, 1).End(xlUp).Row
開始列の取得
データが格納されている領域の開始列を取得したい場合、ワークシートの左端のセルを指定して、「右へ」向って参照します。
⇒データが何も入っていないワークシートで以下のコードを実行した場合、取得される値はワークシートの右端(『16384』)になります。
- sht.Cells(1, 1).End(xlToRight).Column
最終列の取得
データが格納されている領域の最終列を取得したい場合、ワークシートの右端のセルを指定して、「左へ」向って参照します。
⇒データが何も入っていないワークシートで以下のコードを実行した場合、取得される値はワークシートの左端(『1』)になります。
- sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ
出版社:技術評論社
発売日:2019/11/25
単行本(ソフトカバー):B5変形判/576ページ
ディスカッション
コメント一覧
まだ、コメントがありません