|
こんにちは。かみちゃん です。
>データはA列からN列まであります。
>行はその時々で不特定です。
求めたい行の範囲のA列の最終行には必ずデータが入っている場合、
つまり、求めたい範囲がA1:N10の場合、A10セルにはデータが入っているのであれば、
Endプロパティを使って、以下のような感じになります。
Sub Sample1()
MsgBox Range("A1", Range("A" & Rows.Count).End(xlUp)).Resize(, 14).Address
End Sub
汎用性を求めるならば、以下のような書き方もできます。
Sub Sample2()
With Range("A1")
MsgBox .Resize(.Offset(Rows.Count - .Row).End(xlUp).Row - .Row + 1, 14).Address
End With
End Sub
ただし、A〜N列の間の最終行がバラバラで、時によって違う場合や、
最終行が、数式で""という空白の結果になっている場合などは、Endプロパティ
による判定ができませんので、以下のような方法になります。
Sub Sample3()
Dim FR As Range
With Columns("A:N")
Set FR = .Find(What:="*", After:=.Cells(1, 1), LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
MsgBox Range(.Cells(1, 1), FR).Columns(1).Resize(, 14).Address
End With
End Sub
|
|