VBAで表の最終行を選択する方法
ExcelのVBAで作業をしていると、表の最終行を選択したり入力したいことがよくあります。
しかし、いざコードをマクロで自動で取得しても、意味が全く分かりにくいですよね。
そこでこの記事ではVBAで表の最終行を選択する方法を紹介します。
表の中に空白がない場合に行う方法と空白がある時に使える方法の両方を紹介しますので、是非今後の仕事の効率化に取り入れていきましょう。
目次
VBAで表の最終行を選択
Excelでは表の中でCtrl+↓を押すと入力している最終行のセルを選択してくれます。
これをVBAで表記する場合はEnd(xlDown)を使うと簡単にできます。
以下はコードの例です。
Range(“A3”).End(xlDown).Select
End Sub
入力しているセルの一つ下のセルを選択
入力している最終行の一つ下のセルを選択する方法はいくつかありますが、その中でも一番簡単な方法は「offset」を使用する方法です。
Range(“A3”).End(xlDown).Offset(1).Select
End Sub
ひこOffset(1)と入力すれば一つ下のセル、Offset(-1)と入力すれば一つ上のセルとなります。
VBAで表の最終行を選択(途中に空白がある場合)
入力している最終行を選択したい場合もあれば、空白も含めて表の最終行のセルを選択したいこともあるでしょう。
表の一番下のセルを選択するには一度sheetの一番下のセルを選択し、そのあとExcel上で言えばCtrl+↑で一気に飛ぶイメージです。
VBAでは以下の表記となります。
Cells(Rows.Count, 1).End(xlUp).Select
End Sub
表の一番下のさらに一つ下のセルを選択
offsetも応用することで、表のさらに一つ下のセルを選択することも可能です。
Cells(Rows.Count, 1).End(xlUp).Offset(1).Select
End Sub
表に便利なEndプロパティの種類
Endプロパティは一番下のセルだけでなく、右や左のセルなども指定することができます。
固定値 | 内容 |
xlDown | 下端 |
xlUp | 上端 |
xlToLeft | 左端 |
clToRight | 右端 |
まとめ
今回はVBAで表の最終行を選択する方法について紹介しました。
私が実際にVBAでExcelデータを作る時も、今回のように最終行を取得することは多くあります。
ただし最初は空白のセルがある場合とない場合のコードの違いが分からず、最終行がうまく取得できずに苦労しました。
この記事で紹介した2つの方法を使い分けることでとても効率的に仕事を進められるようになりますので、参考になれば幸いです。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
以下のExcel記事もおすすめです。