Skip to content

RowLast

Summary

指定されたシート内の指定された列で最終行を求めるための関数です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Function RowLast(sheetName As String, column As Long) As Long
'最終行を求める

'Arg
'sheetName     検索するシート名
'column        検索する列番号

On Error GoTo errExit

RowLast = Sheets(sheetName).Columns(column) _
                           .Find(What:="*", _
                                 LookIn:=xlFormulas, _
                                 SearchOrder:=xlByRows, _
                                 SearchDirection:=xlPrevious).row

Exit Function
errExit:
    RowLast = 0
End Function

説明

この関数は、指定されたシートの指定された列で最終行を求めるために使用されます。
関数では、Sheets(sheetName).Columns(column) を使用して対象の列を取得し、Find メソッドを使用して最終行を検索します。
Find メソッドのパラメータを設定することで、最終行の行番号が取得されます。 エラーハンドリングとして、エラーが発生した場合は戻り値として 0 を返します。

引数

  • sheetName (String型): 検索するシートの名前
  • column (Long型): 検索する列の番号

戻り値

  • 戻り値の型: Long型 (最終行の行番号)

Examples

使用例として、シート名が "Sheet1" で列番号が 2 (B列) の最終行を求める方法が示します。
関数 rowLast にシート名と列番号を渡し、最終行の行番号を取得します。

1
2
3
' シート名が "Sheet1" で列番号が 2 (B列) の最終行を求める
Dim lastRow As Long
lastRow = RowLast("Sheet1", 2)