初心者から実務利用者まで
わかりやすいVBA解説サイト
コードサンプル

最終列を求める

指定した列で、データの入っている最終列を取得します。

遥先生
遥先生
ここでいう「最終列」とはそれぞれの列で
データが入っている一番最後の列のことよ。
ひとみさん
ひとみさん
データが入っている一番左のセルが
最終列のことなんですね!
この記事でわかること

・最終列の求め方
・なぜ、このコードで最終列が求められるのか

指定した行の最終列を取得します

遥先生
遥先生
アクティブシートの1行目の最終列を取得して
結果をイミディエイトウィンドウに表示します。

最終列を取得するコードの書き方

コードサンプルにおいて最終列を取得するコードは下記の部分です。

最終列 = Cells(Row, Columns.Count).End(xlToLeft).Column

なぜ、このコードで最終列が取得できるのか

このコードが最終列を調べる仕組みは、
一旦Excelのシートの一番右の列(Excel2016であればXFD列)を選択し、
その後、1列ずつ列を左に戻ってきて、
何かデータが入っているセルにぶつかった場合、そこを最終列として返します。

遥先生
遥先生
コードを分解して図で見てみましょう。
サンプルと同じ2行目の最終列を調べていくわよ。

まずは「Cells(Row, Columns.Count)」

Cells(Row, Columns.Count)は、
その行のシートの最終列を表します。
Excelで「Ctrl+→」キーを押した時に移動するセルを指します。

次に「End(xlToLeft).Column」

遥先生
遥先生
一番右端のセルから左方向にセルを一つずつ戻って
一番最初にデータがあったセルで止まるの。

End(xlToLeft).Column
その列を上方向に進み、一番最初にデータがあったセルを指定します。
Excelで「Ctrl+←」キーを押した時に移動するセルを指します。

お世話になる最終列取得

最終列取得は慣れてしまえばとても便利なコードです。
ぜひ活用してみてください。

ひとみさん
ひとみさん
忘れてしまってもこのサイトから
サンプルをコピーして使えば大丈夫ですね!