Baccho Log

No Image

Sponsored Link

[Excel, VBA]セルの行と列を取得する

  • 投稿日:
  • 更新日:
Tags:
Excel VBA
Categories:
プログラミング

記載されている最終行を取得

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

  • Rows.Count
    最終行を取得します
    ※補足※
    Excel2003までは、65,536行
    2007/2010/2013では、1,048,576行

    • Cells(Rows.Count, x)
      x列目の最終行を取得。
      ※6列目を指定したければ、Cells(Rows.Count,6)となります
  • End(xlUp).Row
    最終行から上がっていき、一番最初に記載されているセルの行を返します
    ※補足※
    End(xlDown).Row
    先頭行から下がって行き、一番最初に空白セルがある行を返したい場合は、
    Cells(1, 1).End(xlDown).Row
    もしくは
    Range("A1").End(xlDown).Row
    と記載します。
    Rows.Countは最終行を取得するため、使用してはいけません。
    また、厳密に言えばセルの変わり目で止まりますので、
    例えばA1セルが空白であった場合は、空白を基準として変わり目のセル(何かしらの記載がある)行を返します。

記載されている最終列を取得

Cells(y, Columns.Count).End(xlToLeft).Column

  • Columns.Count
    最終列を取得します
    ※補足※
    Excel2003までは、256列
    2007/2010/2013では、16,384列

    • Cells(y, Columns.Count)
      y行目の最終列を取得。
      ※6行目を指定したければ、Cells(6, Columns.Count)となります
  • End(xlToLeft).Column
    最終列から左に向かっていき、一番最初に記載されているセルの行を返します
    ※補足※
    End(xlToRight).Column
    先頭列から右に向かっていく場合はこの書き方になります
    ※行の取得と同じ挙動になります

■おまけ■
End内の定数は下記の数値でも表すことが出来ます

定数
xlUp -4162
xlDown -4121
xlToLeft -4159
xlToRight -4161
« [WSH]Excelを操作する[Excel, VBA]置換をする »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします