top of page

​タグ一覧

配列処理(76)

シート・セル操作(34)

階層化フォーム(33)

ファイル操作(31)

開発事例(26)

図形操作(24)

設計思想(14)

講座実施報告(12)

ユーザーフォーム(10)

開発効率化(10)

コード自動生成(10)

数学(9)

ココナラ(9)

文字列操作(8)

イベントプロシージャ(7)

GAS(7)

Webアプリ(6)

その他(5)

アニメーション(5)

副業(5)

Googleスプレッドシート(4)

OneDrive(4)

技術解説(4)

条件付き書式(4)

イミディエイトウィンドウ(4)

クリップボード(4)

介護・福祉(4)

小説(3)

JavaScript(3)

HTML(3)

公開ツール(3)

クラスモジュール(2)

コード解説(2)

パズル(2)

小ネタ(2)

日報(2)

フリーランス(2)

シフト表(2)

Antigravity(2)

PDF(2)

カレンダー(2)

Enum(2)

LookerStudio(2)

リスキリング(2)

Discord(2)

Outlook(2)

デスクトップアプリ(2)

スクレイピング(1)

WebAPI(1)

PowerShell(1)

文書作成(1)

スプレッドシート(1)

経理(1)

超勉強会(1)

溶接ロボット(1)

楽天市場(1)

VBA不使用(1)

実行予約(1)

CAD(1)

給与計算(1)

QRコード(1)

医療(1)

python(1)

学校(1)

発注書(1)

GetEndCellRightButtom|右下最終セルの取得 | Excel VBA

1月14日
読了時間: 2分
GetEndCellRightButtom|右下最終セルの取得 | Excel VBA

<概要 VBA 右下セル>

GetEndCellRightButtomは、指定したセルを基準として、データが存在する範囲の「右下端セル」を安全に取得するための汎用プロシージャです。


行方向にはGetEndRow、列方向にはGetEndColを内部で利用し、

それぞれの最終行番号・最終列番号を組み合わせたセルを返します。


Range.End(xlDown / xlToRight)では正しく取得できない、

オートフィルタ設定時や非表示行・列が存在するシートにおいても、

実務で安定した結果を得られる点が特長です。


帳票データや一覧表を処理する際に、

「開始セルは分かっているが、データの終端が可変である」

といったケースで特に有効です。


<実行例>

 実行例のサンプルコードは次の通りです

 実行サンプルでは、B2セルを基準として右方向および下方向に存在するデータ範囲を探索し、その結果得られた右下端のセルを取得しています。


イミディエイトウィンドウには、実際に取得された最終セルのアドレスが表示されます。


例えば下記の様にシートに入力してあるとすると、

シートの入力

イミディエイトウィンドウには下記の様に表示されます。

イミディエイトウィンドウの実行結果

この処理により、データ行数や列数が毎回変わるシートであっても、固定的なRange指定を行う必要がなくなります。


特に、

・オートフィルタが設定されている表

・途中に空白行や空白列が混在する表

といったケースでも、


想定通りの最終セルを取得できる点が重要です。


<関連コード>

 今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。


<関連記事>

 今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

 コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

softex-celwareロゴ 透過 横長.png

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page