VBAを使って最終列、最終行を取得する方法!

これはすぐ忘れる自分への備忘録です。

目次

最終列を出す方法

Cells(Rows.Count, 1).End(xlUp).Row

いろいろやり方はありますが個人的にはこれ。

下から数えてってやつです。

Rows.Countは、シートの最大行数です。

Endは、Rangeオブジェクトのプロパティ
End(Direction)と使いますが

  • xlDown : 下へ
  • xlToLeft : 左へ
  • xlToRight : 右へ
  • xlUp : 上へ

.Rowは行数を返してくれます。

この方法だと非表示セルはとばして、可視セルのみで最終行が出せます。

ほかの方法

dim a
dim b
a = Range(“A1”).CurrentRegion
b = Ubound(a)

CurrentRegionは空白のセルに囲まれた区間を取得できます。
イメージとしてはRange(“A1”)に属するセル範囲って感じですかね。
表とかをそのまま抽出できて便利です。

Uboundは配列などの要素の大きさを返してくれます。

dim a
dim b
a = sheets(“Sheet1”).UsedRange
b = Ubound(a)

UsedRangeは使われているセル全部です。

なんで一番右上と一番左下の範囲が取得できます。

最終列を出す方法

Cells(1, 1).End(xlToRight).Column
Cells(1, Columns.Count).End(xlToLeft).Column

右からか、左からかって感じですね。

列の場合は右からのほうが使いやすかったりします。

.Columnは列数を返しくれます。

[temp id=2]

コメント

コメントする

目次