表の全行に対して処理する為には、データの最終行が分からないと、行の増減に対応できません。
使用している最終行、列の取得方法になります。
例としては、ファイルを開いて、そのファイルの最終行を取得します。


Option Explicit
Sub Sample3()
Dim wb As Workbook
Dim ws As Worksheet
Dim filename As String
Dim last_row As Long
Dim last_column As Long
filename = "C:\ExcelVBA\最終行列取得\sample3.xlsx"
' ファイルの確認
If IsFileExists(filename) = True Then
' ブックを開く
Set wb = Workbooks.Open(filename)
' シートを取得
Set ws = wb.Sheets(1)
' 最終行・列を取得
last_row = Range("A1").SpecialCells(xlLastCell).row
last_column = Range("A1").SpecialCells(xlLastCell).column
' ブックを閉じる
wb.Close
Set ws = Nothing
Set wb = Nothing
MsgBox "最終行は" & last_row & ", 最終列は" & last_column & _
" (" & ColumnIdxToStr(last_column) & last_row & ")" & vbCrLf, vbInformation
Else
MsgBox filename & "は存在しません", vbExclamation
End If
End Sub
【補足】
以下の関数を使用していますので、リンクから関数をコピーします。
・列名と列番号の変換 ColumnIdxToStr()
・ファイルの有無を確認す IsFileExists()

コメント