HOME > 基本構文 > データのある最後の行までループさせる方法
データのある最後の行までループさせる方法
n = Cells(Rows.Count, "A").End(xlUp).Row
これは、「A列の最後の行位置がどこかを示してくれる」という構文です。
ちょっと見た目はむずかしい1行なので、覚える必要はまったくありませんが
何行目まであるかが分らないシートのデータを扱う場合や、毎回データの行数
が変わるシートを扱う場合などには、この1行をコピーして使えばよい訳です。
これを使う場合に気を付けなければならないのは、最初の( )の中の"A"の部分
だけで、例えば、C列なら"C"に、F列ならば"F"に変更するということだけです。
例えば、
n = Cells(Rows.Count, "F").End(xlUp).Row
これで、F列の最後の行位置が変数 n に格納されるということになりますので
その次のFor文で、n までループさせる様にすればよい( For i = 1 to n )
という具合です。
この1行の構文さえあれば、データが何行まであっても、何行まであるか分から
なくても、毎回行数が変わる場合でも、プログラムは変更しなくて大丈夫!
ちなみに、
m = Cells(1, Columns.Count).End(xlToLeft).Column
この1行の構文で、横方向の(列の)最後も得られますので、例えば、
m = Cells(5, Columns.Count).End(xlToLeft).Column
これで、5行目のデータが何番目の列まで在るかが変数 m に格納できます。
(なお、この場合得られる列は数字なので、例えば m=3 なら左から3番目の列、
すなわちC列のことになります。)
NEXT >>
・For文とDo文の使い分けについて