Q:

Use Long as the start of a Range

I have a spreadsheet that needs to pull data once a day when a new file comes in. 
It's responsibilities are:

Start at the bottom populated row (of Column C)
Fill the Date for today and make it static
Delete data at the top of the sheet over 2 months old

I'm sure I can work out the other two tasks, but I'm struggling pulling the lastrow as the point in the range 
Dim ws As Worksheet, lastRow As Long

Set ws = Worksheets("Report")
lastRow = ws. Cells(ws. Rows. Count, 3).End(xlUp).Row + 1 ' bottom populated cell of Column "C", plus 1

   'Error on this "line" below
    With ws. QueryTables. Add(Connection:= _
            "TEXT;N:\etc\etc\etc\FMSQRY.CSV", Destination:= _
            ws. Range(Cells(lastRow, 3)))
        'Data Import here
    End With

Classic error 1004 - range of object worksheet failed
But when I use the same method to use lastRow for the selection of N2:N in a different workbook (and different project) it works fine 
LastRow = ws. Cells(ws. Rows. Count, 1).End(xlUp).Row                  'Finds the bottom populated row

With ws. Range(ws. Cells(2, 14), ws. Cells(LastRow, 14))               'Selects N2:N
    'magical formula
End With

A:

Try this code.  Check that you don't need the range before cells:
Dim ws As Worksheet, lastRow As Long

Set ws = Worksheets("Hoja1")
lastRow = ws. Cells(ws. Rows. Count, 3).End(xlUp).Row + 1 ' bottom populated cell of Column "C", plus 1

    With ws. QueryTables. Add(Connection:= _
            "TEXT;N:\etc\etc\etc\FMSQRY.CSV", Destination:= _
            ws. Cells(lastRow, 3))
        'Data Import here
    End With

