Могу ли я хранить Cells (Rows.Count, 1) .End (xlUp) .Row в переменной? - PullRequest
0 голосов
/ 10 сентября 2018

Мне интересно, могу ли я сохранить эту функцию как переменную.Поскольку я работаю с vlookups и хочу, чтобы мой код был адаптируемым, если строки добавляются / удаляются из исходного листа.

Например, вместо "2402", жестко закодированного в этом vlookup.Могу ли я поместить туда переменную, которая может ссылаться на формулу количества строк?

Cells(xlRow, 149).Formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$2402,6,0)"

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

Cells(xlRow, 149).Formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$" & Cells(Rows.Count, 1).End(xlUp).Row & ",6,0)"

Что бы я хотелдля этого нужно сказать: "" RDWY '! $ A $ 2: $ N $ "& rowcount &", 6,0) ". Возможно ли это? Если нет, то почему это невозможно?

РЕДАКТИРОВАТЬ: Я установил для моей переменной rowCount значение rowCount = blanketWB.Sheets("RDWY").Cells(Rows.Count, 1).End(xlUp).Row, и оно сработало!

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

Некоторые из моих vlookups должны будут быть жестко запрограммированными числами, хотя, потому что в некоторых исходных рабочих листах есть определенные разрывы веса. Где просто получение числа строк из последней строки не поможетОднако я могу применить это к большинству.

1 Ответ

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

Конечно, вы можете добавить свою «формулу» в переменную, вот так:

Dim formula as String
formula = "=VLOOKUP(EG" & xlRow & "," & FILEPATH & "RDWY'!$A$2:$N$2402,6,0)"

и затем вы можете использовать его внутри своего кода:

Cells(xlRow, 149).Formula = formula
...