Как скопировать диапазон ячеек при ссылке на последнюю строку

#excel #vba

Вопрос:

Я пытаюсь скопировать выбранный диапазон, используя ссылку на последнюю строку. Мне нужно, чтобы диапазон был (2,10) или C:M. Самое близкое, что я получил, — это использование ссылки на всю строку, но эти данные несовместимы с моим назначением.

Вот что я придумал:

 lcopylastrow = _
        wscopy.Cells(wscopy.Rows.Count, "C").End(xlUp).Offset(-1).Resize(2).EntireRow.Copy
 

Любая помощь будет признательна и даст мне знать, если мне нужно быть более конкретным.

Комментарии:

1. thespreadsheetguru.com/blog/2014/7/7/…

2. Я понимаю, как найти последнюю строку. Я пытаюсь копировать фиксированный набор ячеек каждый раз, когда запускается макрос.

3. Copy является методом Range объекта, поэтому нет смысла добавлять его в конец строки, определяющей переменную строки (предположительно). Я действительно не понимаю вашей проблемы.

4. Я пытаюсь найти способ скопировать столбцы C:M в последней строке. Я нашел способ скопировать только всю строку, но мне не нужно, чтобы все содержимое копировалось только в определенном диапазоне. Извините, если я неправильно формулирую вопрос.

Ответ №1:

Почему это должно быть на одной линии? Определите последнюю строку, затем скопируйте

 lastrow = wscopy.Cells(wscopy.Rows.Count, "C").End(xlUp).Row
wscopy.Range(wscopy.Cells(lastrow, 3), wscopy.Cells(lastrow, 10)).Copy
 

Комментарии:

1. Причина, по которой я изменил его размер, заключается в том, что я копирую две строки с этими значениями. Это показало ошибку при попытке этого кода, но я ценю другой инструмент, с которым можно попробовать.

2. Просто измените второй на (lastrow 1, 10) , и вы скопируете две строки

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

4. У вас могут возникнуть другие вопросы, которые необходимо задать в виде отдельных вопросов. Знание того, что wscopy такое и как задан этот диапазон, может быть полезным.