Использовать Long как начало диапазона - PullRequest
0 голосов
/ 20 марта 2019

У меня есть электронная таблица, которая должна извлекать данные один раз в день, когда приходит новый файл.

Это следующие обязанности:

  • Начать с нижней заполненной строки(из столбца C)

  • Заполните дату на сегодня и сделайте ее статичной

  • Удалите данные в верхней части листа за 2 месяца

Я уверен, что смогу решить другие две задачи, но я изо всех сил пытаюсь вытащить последнюю стрелу в качестве точки в диапазоне

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

Классическая ошибка1004 - диапазон объекта листа не удалось

Но когда я использую тот же метод, чтобы использовать lastRow для выбора N2:N в другой книге (и другом проекте), он отлично работает

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

1 Ответ

2 голосов
/ 20 марта 2019

Попробуйте этот код.Убедитесь, что вам не нужен диапазон перед ячейками:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...