VBA Copy Variable Range - PullRequest
       9

VBA Copy Variable Range

0 голосов
/ 19 марта 2019

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

Итак, я установил переменную количества мест и пытаюсь скопировать данные в другой лист, но сохраняюполучить объект ошибки 1004.Я уверен, что это что-то простое, но я просто не могу разобраться.

У меня есть код:

With WsInput
    LocCount = .Range("B18", .Range("B18").End(xlDown)).Rows.Count
End With

With WsLoc
    .Range("D:F").Value = WsInput.Range(.Cells(17 + LocCount, 2), .Cells(17 + LocCount, 5).Value)
End With

1 Ответ

0 голосов
/ 19 марта 2019

Вы пытаетесь установить источник, используя ячейки в цели.

Оставайтесь внутри первого With ... End With и используйте источник, чтобы установить строки и столбцы цели.

With WsInput

    LocCount = .Range("B18", .Range("B18").End(xlDown)).Rows.Count

    with .Range(.Cells(17 + LocCount, 2), .Cells(17 + LocCount, 5))
        WsLoc.Range("D1").resize(.rows.count, .columns.count) = .Value
    end with

End With

Этот код, кажется, противоречит сам себе. Возможно, вы имели в виду нечто подобное.

With WsInput

    LocCount = .Range("B18", .Range("B18").End(xlDown)).Rows.Count

    with .Range(.Cells(18, 2), .Cells(17 + LocCount, 5))
        WsLoc.Range("D1").resize(.rows.count, .columns.count) = .Value
    end with

End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...