Обращение к диапазону с использованием переменных (и заполнение)

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

Вот некоторые из моих попыток:

LastP_iceRef является более коротким столбцом (если они имеют разную длину) и LastWriterRow длиннее двух столбцов (где они отличаются - LastP_iceRef а также LastWriterRow может быть таким же, но я думаю, что у меня есть код, чтобы позаботиться об этом.

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

Это не работает

Range("J" & (lastP_iceRef + 1) & " :  J" & LastWriterRow) = Sheets("Sorted data").Cells("J" & lastP_iceRef)`

и ни один из них не делает:

Range(cells(lastP_iceRef + 1) ,"J" ),cells(LastWriterRow,"J") = Sheets("Sorted data").Cells("J" & lastP_iceRef)`

Плохо ли использовать буквы в качестве имен переменных? Я часто так для i=1 до x и т. Д., Но это немного смущает меня с точки зрения меток столбцов Excel.

1 ответ

Попробуйте этот код:

For i = lastP_iceRef + 1 To LastWriterRow
    Cells(i, 10).Value = Sheets("Sorted data").Cells(i-1, 10).Value
Next i

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

Другие вопросы по тегам