|    | 
     こんにちは。かみちゃん です。 
 
>データは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 
 
 | 
     
    
   |