activecell.formula с нотацией RC и vlookup не работает vba - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть этот код, и я не могу заставить его работать с нотацией RC

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],ARTICULOS!$A:$I,4,FALSE)"

Значение, которое я ищу, это 1 столбец после "activecell".

1 Ответ

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

Как указывал @Scott, нельзя смешивать нотации R1C1 и A1 .

Что бы вы ни пытались сделать, возможно, есть более эффективный способ сделать это, но сейчас это должно дать примерно желаемый результат: формула VLOOKUP с lookup_value того, что находится в одна клетка справа от ActiveCell.

ActiveCell.Formula = "=VLOOKUP(INDIRECT(ADDRESS(ROW(),COLUMN()+1)),ARTICULOS!$A:$D,4,FALSE)"

Обратите внимание, что я также изменил lookup_range, чтобы он остановился на столбце D, потому что если вы смотрите в 4-м столбце, начинающемся с A, тогда D будет последним необходимым столбцом.

Также обратите внимание, что я удалил R1C1, поскольку он здесь не нужен.

Возможно, есть и лучший метод, использующий INDIRECT(ADDRESS(ROW(),COLUMN()+1)), но я не могу об этом думать сейчас, и этот способ тоже работает.


Дополнительная информация:

...