【VBA】最後のセルを取得する
VBAのツールを作っている際に、入力されている最後のセルを知りたいということがありますね。
調べてみると、先人たちが色々なテクニックを駆使していたのですが、結局マクロの記録からコードを生成してヒントを得ました。
実際に行った動作は、[Ctrl+End]です。
マクロの記録を実行すると、このようなコードが生成されました。
Sub Macro1() ' ' Macro1 Macro ' ' ActiveCell.SpecialCells(xlLastCell).Select End Sub
「SpecialCells(xlLastCell)」について調べてみると、引数で指定された条件のセルを取得するメソッドのようです。
https://msdn.microsoft.com/ja-jp/library/office/ff196157.aspx
今回は引数に最後のセルを渡して、そのセルを選択しているようです。
つまり、行数と列数を取得する場合はこのように書くことができます。
Dim rowSize, colSize Dim lastCell ' 最後のセルを取得する Set lastCell = ActiveCell.SpecialCells(xlLastCell).Select ' 列・行を取得する rowSize = lastCell.row colSize = lastCell.column
上のURLにはOffice2013以降と書いてあるため、注意が必要ですね。
No comments.