GetCellAreaCellToEndOfUsedRange|指定セルからUsedRange末尾まで取得 | Excel VBA
- yuji fukami
- 1月5日
- 読了時間: 2分

<概要 (VBA 指定セルからUsedRange末尾まで取得)>
GetCellAreaCellToEndOfUsedRangeは、指定したセルを起点として、
そのシートにおけるUsedRangeの右下セルまでを一括で取得するための
Excel VBA用の汎用プロシージャです。
データ行数や列数が可変な表を扱う場面では、
毎回LastRowやLastColを個別に算出する必要があり、
コードが冗長になりがちです。
本プロシージャを使用することで、
「このセルから下と右に広がるデータ範囲」を
直感的かつ簡潔にRangeオブジェクトとして取得できます。
特に、集計処理・一括書式設定・配列への読み込みなど、
開始位置が明確で終端がUsedRange基準となる処理において
再利用性の高い関数となります。
<実行例>
実行例のサンプルコードは次の通りです
本サンプルを実行すると、
セルB2を起点として、そのワークシート上で
UsedRangeに含まれる最終セルまでの範囲が選択されます。

一般的に、UsedRangeをそのまま使用した場合、
タイトル行や見出しセルを含めて
意図しない範囲まで取得してしまうことがあります。
そのため、従来は
「タイトル行を除外する」「開始行をずらす」といった
追加の調整処理が必要になるケースが多く見られます。
本プロシージャでは、
取得範囲の起点を明示的に指定できるため、
タイトルや固定項目を意識した除外処理を
別途記述する必要がありません。
結果として、
「データが始まるセル」から
UsedRangeの末尾までを
直感的かつ安全に取得できる点が
本プロシージャの大きな特長となります。
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。

