MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【VBA】最終行、最終列取得
profile-img
投稿者: ksasaさん
投稿日:2020/05/28 11:01
更新日:2020/05/28 11:07
like-img
分類
技術
テクノロジー
全般
キャリア
運用・保守
投稿内容
今回は、VBAで最終行、最終列を取得するコードを紹介します。
使用するコードは以下になります。

最終行取得:Cells(Rows.Count, 1).End(xlUp),row

最終列取得:Cells(Columns.Count 1).End(xlLeft).column

二つの明確なコマンドの違いは行か、列かなので、最終行取得のほうで一つ一つが
なんの動作を示しているか左から順に紹介いたします。
[Cells]はセルを指定するプロパティです。
カッコ内はその位置を指定します。
#(行,列)の順番です。
[Rows]は列全体を示しています。そして、[.Count]は文字通り「(要素の個数を)数える」役割をしていて、
[Rows]に係り、[Rows.Count]で行全体の個数つまり、シートの一番下の行数である「1048576」を示しています。
列は、「1」なので、1列目つまり「A」列となります。
次の[.End(xlUP)]は、シート内で「Ctrl+↑」キーを押したときの動きを示しています。
つまり、文字が入力されているセルを見つけるまで上のセルを選択し続けています。
そして、最後の[.Row]は行を示すプロパティです。今までの結果たどり着いたセルの行数を示すことになります。
Cells(Rows.Count, 1).End(xlUp),rowを日本語に直すと次のようになります。

→セルA1列の1048576行目からCtrl+↑のセルの行数


このコードはVBAでマクロを作る際に非常に重宝します。
例えば、社員表などの日々更新される表において、男女の数を数えるためにマクロを作ったとして、毎回、最終行を定数で入れてマクロを更新するのは大変ですが、今回紹介したコードを使用すれば、日々更新されたとしてもマクロのボタンを押すだけで毎回結果が変わるようになります。

ほかにもいろいろな使い道があると思いますのでぜひ使ってみてください。
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3