2016-12-10 2 views
0

Я читаю несколько Q & A, однако мне сложно понять все длинные скрипты с использованием разных объектов.Диапазон патчей VBA с динамическим выбором

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

Dim range As Long 

For range = ActiveCell To ActiveCell.End(xlDown) 
Sheets("Stock Report").range("A4" & range).Value = 
    Sheets("Unique File").range("Y8" & range).Value 

Однако он ничего не делает.

Этот скрипт делает работу, но я хотел бы сохранить последнюю ячейку динамическими:

Sheets("Stock Report").Range("A4:A9000").Value = 
    Sheets("Unique File").Range("Y8:Y90004").Value 

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

Любые предложения?

ответ

0

OK пробовать.

Sheets("Unique File").Range("Y8:Y" & Sheets("Unique File").Range("A4").End(xlDown).Row + 4).Copy 
Sheets("Stock Report").Range("A4").PasteSpecial Paste:=xlPasteValues 

Range («A4»). End (xlDown) .Row получает последнюю строку данных на фондовом отчете листе и используется для копирования вниз в ту же строку на листе Unique File. Я добавил 4, потому что ваш диапазон начинается с 8 на странице «Уникальный файл».

Я думаю, что ваш код не работал, потому что вы пытались использовать «диапазон», который вы создали на листе «Запасы» на странице «Уникальные значения».

+0

Привет Гордон. Дело в том, что я не хочу выбирать весь столбец. Он всегда должен начинаться с ячеек (4, xx). И диапазон, который я хочу выбрать, имеет значения. То, что я не хочу, состоит в том, чтобы иметь больше строк в конце, чем значения, которые у меня есть. –

+0

Это работает! Спасибо –

Смежные вопросы