§A列の最終行を取得する
- 空白セルが無い場合 ‥‥ Ctrl+↓を使う
Range("A1").End(xlDown).Row
- 空白セルがある場合 ‥‥ 最後の行から Ctrl+↑ する
Cells(Rows.Count, 1).End(xlUp).Row
§1行目の最終列を取得する
- 空白セルが無い場合 ‥‥ Ctrl+→を使う
Range("A1").End(xlToRight).Column
- 空白セルがある場合 ‥‥ 最後の列から Ctrl+← する
Cells(1, Columns.Count).End(xlToLeft).Column
§アドレスを取得するには
- 上記 Row または Column を Address とすればよい。
Range("A1").End(xlDown).Address
- 但し、絶対番地が返るので、相対番地にするには "$" を取る必要がある。
Replace 関数を使った例Replace(Range("A1").End(xlDown).Address, "$", "")
§Ctrl+End
- 表の右下隅のセルの行
ActiveCell.SpecialCells(xlLastCell).Row
- 表の右下隅のセルの列
ActiveCell.SpecialCells(xlLastCell).Column
- 表の右下隅のセルのアドレス
Range("A1").SpecialCells(xlLastCell).Address
- デバッグウィンドウで動作を確認した。
- ActiveCell の代わりに、Range("A1")でも動作する。(No.3)
A1 はダミーで、表外であっても問題ない。アクティブシートの意味だろう...
§Ctrl+End を使った表の選択例
表の右下隅のセル(Ctrl+End のアドレス)が J15 と仮定する。
- A1〜J15 を選択する ‥‥ セル A1 をクリックし、Ctrl+End
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
- B2〜J15 を選択する ‥‥ セル B2 をクリックし、Ctrl+End
Range("B2", ActiveCell.SpecialCells(xlLastCell)).Select
§Excel の最大値
- 最大行数
MaxRow = Rows.Count
- 最大列数
MaxCol = Columns.Count