セルの最深行は前々からやり方知ってたし、1行で検出できるのは知ってたんだけど、逆に最浅行を検出できるマクロを作りました。前提条件は途中で未入力のセルがなく、上から下まですべてセルが埋まっていることです。
結論:作ったマクロの全コード
Sub 最深行と最浅行()
Dim i As Integer
Dim LAST As Integer
'LASTは最深行
LAST = Cells(Rows.Count, 1).End(xlUp).Row
'FRONTは最浅行
'空白のセルにより判定
For i = 1 To 100
If Cells(LAST - i, 1) = "" Then
Exit For
End If
Next i
'LASTとiによって上からの行数を検出
FRONT = LAST - i + 1
End Sub
最深行
▽最深行は1行マクロで解決。優秀。この場合は7行目。
'LASTは最深行
LAST = Cells(Rows.Count, 1).End(xlUp).Row
最浅行
▽最浅行はこんな感じ。最深行から上に向かって検索(LAST-i)していって空白のセルを見つけたら検索終了。LASTとiで上からの行数へ変換。この場合は2行目。
'FRONTは最浅行
'空白のセルにより判定
For i = 1 To 100
If Cells(LAST - i, 1) = "" Then
Exit For
End If
Next i
'LASTとiによって上からの行数を検出
FRONT = LAST - i + 1
End Sub
割と使用しそうなので、ブログに残しておきます。