I am using the following procedure to identify a range and send it another procedure, MakeMatrix, which sets out a matrix of borders to its cells
Sub Matrix2(StartPlace, YearLen)
 StartCol = StartPlace + 5
 EndCol = StartCol + YearLen
  lrow = Cells(Rows.Count, StartPlace + 1).End(xlUp).Row
  
 With Sheets("Sheet1")

 .Range(.Cells(1, StartCol), .Cells(1, EndCol - 2)).Name = "MatrixRange1"
  MakeMatrix "MatrixRange1"
  .Range(.Cells(3, StartCol), .Cells(lrow, EndCol - 2)).Name = "MatrixRange2"
  MakeMatrix "MatrixRange2"
  End With
       
End Sub
My problem comes to light when I discover Range("MatrixRange2") has no borders or lines. The reason turns out to be that lrow has a value of 1.
This is odd in that the value of StartPlace is as expected and the next column on (StartPlace+1), at present, has the last occupied row of 148.
What I want to do is to identify which column my code is actually looking at. I thought of using WorkbookFunction.Address but this is not possible. I am stuck and would welcome some help.
John