ALL EXCEL Program Tips VBA

【解説付】VBA-最終行を取得する方法-完全理解【EXCEL VBA】

本記事で出来ること

本記事では以下のことが分かります。
 
-分かること-
VBAでEXCELの最終行取得する方法

最終行の取得方法(コードはこちら)

さっそくですが、最終行の取得方法のコードを紹介します。
 
 
仮に最終行が 100行目だった場合、
変数:lastgyou の中身は「100」が格納されています。

Cells(Rows.Count, 1).End(xlUp).Row でなんでA列の最終行が分かるの?

Cells(Rows.Count, 1).End(xlUp).Row を分解して解説します。
 
<分解して解説>
Cells(Rows.Count,1):A列の最終行から
End(xlUP):上へカーソルを飛ばした
Row:セルの行数を取得
 
つなげて読むと、このようになります
A列の最終行から 上へカーソルを飛ばした セルの行数を取得
 
これだけでは、腑に落ちないと思うので図を用意しました。
 
 
もちろん、Cells(Rows.Count, )にすれば、B列の最終行も分かります。

余談:Cellsの理解が曖昧な人向け

Cells(Rows.Count, 1) が 突然出てきてきたため、
これまでの説明は、Cellsを知らない人からしたら意味不明だったかもしれません
 
CellsはEXCELのセルを特定する構文となり、VBAにおいて最重要-理解すべき基本知識の1つです。 
 
曖昧に理解している人はいませんでしょうか? 
 
以下の記事に Cellsの解説をしているので、不安に思われた方は リンク先で確認して下さいませ。
(早い人は 5分で読めると思います。)
 
確認後に、再度、本ブログ記事を読んでもらえれば、腑に落ちると思います。

終わりに

いかがでしたでしょうか。

こんなこと言ったら 信頼性に問題がありますが、
プログラムなんてものは、まずは 動きゃいい と僕は思っています。
 
もちろん 仕組みを理解することで、
プログラムの誤作動を未然に防ぐことができますが、
すべてを未然に防ぐことは不可能です。
 
Inputでは完全に理解する必要は無く
やりたいことを調べる(Input)→試す(Output)→なんか違うから調べる(Input)→試す(Output)の繰り返しが重要で
調べたコードを実装する力こそ 重要な能力だと僕は思います。
(矛盾するかもしれないが、だから基礎が大切。基礎が分かればコードを読解できる→実装できる)
 
トライ&エラーを重ねて 理解を深めていきましょう。
 
こちらは宣伝になりますが、
もしVBA全般のルール・基本知識を身に付けたい方がいらっしゃいましたら、
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)




-ALL, EXCEL, Program, Tips, VBA
-, , , ,