セルについて

入力済セルの最終行 End

 いろいろな表関係を調べたり計算する際に、データが書かれている最終のセル番号を必要とすることが多々あります。

 データ数が10件や20件でしたら見ればすぐわかりますが、数百件、数千件となると厄介です。

こうした時に役立つのが「Endプロパティ」です。

この「Endプロパティ」は「引数」も大切ですので、しっかり理解するようにしてください。

次の「社員マスター表」があります。

今現在の最終の「社員CODE」「最終行番号」および「最終項目」を求めるマクロです。

Sub 終端_01()

‘① B列の最終行セルの値

  Range(“I2”) = Range(“B2”).End(xlDown).Value

‘② B列の最終行の行番号

  Range(“I3”) = Range(“B2”).End(xlDown).Row

③ 2行目の見出しの最終項目

  Range(“I4”) = Range(“B2”).End(xlToRight).Value

End Sub

上記「社員マスター表」で、何らかの事情で途中空欄がある場合は状況が変わります。

つまり、最終行番号は 12 となります。

これでは具合が悪いですよね。

そこで

Sub 終端_02()

‘① B列最下段から上へ検索し最初のセルの値

 Range(“I2”) = Cells(Rows.Count, 2).End(xlUp).Value

② B列最下段から上へ検索し最初の行番号

 Range(“I5”) = Cells(Rows.Count, 2).End(xlUp).Row

End Sub

 この「Rows.Count」とはシートの総行数を意味します。

 つまり Cells(Rows.Count,2).End(xlUp) ですから、シートB列の最下段から上に向かってデータのあるセルを探すことになります。

 Excel 2007以降では一つのシートの総行数は 1048576 です。

よってここから 1048575 → 1048574 → 1048573 → ・・・・ と上に向かって検索をするということになります。

結果は

 この「End プロパティ」は意外と使用頻度の高いプロパティです。

扱いに慣れるようにしてください。

セルの行・列番号と参照  指定したセルの行番号と列番号を知るには「Rowプロパティ」「Columnプロパティ」を使って数値で知ることができます。  複数...
表全体と使用済セル範囲  空白の行と列に囲まれた領域をアクティブ領域にするには「CurrentRegionプロパティ」を使用します。 データが増加したり...