列ごと選択したときに,自動的に値がある行まで選択範囲を小さくしてくれるマクロです.
範囲選択の手間を減らせます.

目次

  1. 使い方
  2. マクロ

使い方

列を範囲選択してマクロを実行します.
第1行から,値で見て最大の行数となる行までの範囲に選択範囲が狭まります.

列でない矩形の範囲を選択した場合,第1行ではなく選択している範囲の最初の行から最大行までを選択し直します.

ちょっとしたスクリプトを書きたいとき,Excelのシート最終行まで処理すると時間がかかりすぎるマクロになってしまうなら,時短に役立つかもしれません.

マクロ

他のマクロと組み合わせて使うと思うので,Privateをつけています.

Private Sub ResizeSelection()

Dim start_row, start_col, end_row, end_col As Long
start_row = Selection.Row
start_col = Selection.Column
end_row = start_row + Selection.Rows.Count - 1
end_col = start_col + Selection.Columns.Count - 1

Dim max_row, tmp As Long
max_row = 1
For i = start_col To end_col
tmp = Cells(Rows.Count, i).End(xlUp).Row
If max_row < tmp Then max_row = tmp
Next

end_row = max_row
Range(Cells(start_row, start_col), Cells(end_row, end_col)).Select

End Sub