ray88’s diary

お仕事で困ったとき用の自分用の覚書

Excel VBA 最終列を取得する

Sub getLastColumn()
    Dim lastColumn As Integer
    '5行目の最終列を取得
    lastColumn = Sheets("Sheet2").Cells(5, Columns.Count).End(xlToLeft).Column    
    MsgBox lastColumn
End Sub

f:id:ray88:20200718065405p:plain

■部品化

Sub try()
    Dim i As Integer
    Dim lastRow As Integer
    Dim lastcolumn As Integer    
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lastRow
        lastcolumn = fncGetLastColumn("Sheet2", i)
        MsgBox lastcolumn
    Next
End Sub
Function fncGetLastColumn(strSheetName As String, intRow As Integer) As Integer
'-------------------------------------
'機能:指定された行の最終列を取得する
'引数1:シート名
'引数2:最終列を確認したい行の行数
'戻り値:最終列の列数
'-------------------------------------
    fncGetLastColumn = Sheets(strSheetName).Cells(intRow, Columns.Count).End(xlToLeft).Column
End Function