思考酒後

自分に入ってきた情報を定着、深化するために文章化

MENU

【Excelマクロ】データの最深行と最浅行を検出するマクロを作ったよ。


セルの最深行は前々からやり方知ってたし、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

 

 

割と使用しそうなので、ブログに残しておきます。