ワークシートのデータの最終行を取得する
<分類:値取得>
<使用例:①上から下方向へデータの入った連続した行の最終行を取得、また、②Excelの最大行から上方向にデータが存在する行まで調べて最終行を取得 ①と②お互い一致したら正常、不一致だったら、データの行間に隙間があるので異常(最終行取得エラーとして0を出力)>
<注意:サンプルデータを作成するプログラムになっていますので、Sheet1は何もデータがないシートをご用意ください>
<プログラム例>
Sub 使用例() Dim max_row As Long 'サンプルデータ作成 Cells(1, 1) = "2019/9/8" Cells(1, 2) = "00:00:00" Cells(1, 3) = "28.7" Cells(2, 1) = "2019/9/8" Cells(2, 2) = "01:00:00" Cells(2, 3) = "29.0" Cells(3, 1) = "2019/9/8" Cells(3, 2) = "02:00:00" Cells(3, 3) = "29.1" Cells(4, 1) = "2019/9/8" Cells(4, 2) = "03:00:00" Cells(4, 3) = "29.1" max_row = 共通_最終行取得("Sheet1") Cells(max_row, 1).Select MsgBox ("最終行は" & max_row & "です") End Sub Function 共通_最終行取得(sheet_name As String) Dim maxrow_d As Long Dim maxrow_u As Long maxrow_d = Worksheets(sheet_name).Cells(1, 1).End(xlDown).Row maxrow_u = Worksheets(sheet_name).Cells(Rows.Count, 1).End(xlUp).Row If maxrow_d = maxrow_u Then 共通_最終行取得 = maxrow_u Else 共通_最終行取得 = 0 MsgBox ("最終行不一致") End If End Function