【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.