Обращение к диапазону с использованием переменных (и заполнение) - PullRequest
0 голосов
/ 14 сентября 2018

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

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

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 Ответ

0 голосов
/ 14 сентября 2018

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

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

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

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