Я пытаюсь использовать конструкцию IF(And()
в формуле R1C1
, чтобы заполнить большой диапазон ячеек. Для этого я создал цикл, который создает строковую переменную для значение_если_истина части формулы, однако, когда формула работает клетки перечисляет диапазон вместо содержимого переменнойString Variable для Value_If_True возвращает диапазон строк в рабочем листе
v = 1
cs = 71
ce = 87
For c = cs To ce Step 2
r = "R" & v
drop.Range(Cells(8, c), Cells(LR, c)).FormulaR1C1 = "=IF(AND(RC3>=RC[-18],RC3<=RC[-17])," & r & ","""")"
v = v + 1
Next
Я объявляю переменные в верхняя часть субпоказа (r - строка). Это то, что появляется клетка, как после того, как запустить макрос:
=IF(AND($C8>=BA8,$C8<=BB8),8:8,"")
На рисунке 8: 8 должен быть "R1".
'R1' изменится на 1: 1, а' R8' станет 8: 8. Вы выполняете итерацию v, поэтому каждый раз, когда он петли, вывод строки будет увеличиваться. Что вы хотите в качестве вывода, 'R1'? не строка, а фактическая строка? –
Как насчет r.value? тем не менее, я думаю, вам нужно будет использовать что-то вроде косвенного здесь, в принципе значение вашей переменной - это R1, а не значение в ячейке RI. вы также можете попробовать - «&. Range (r) &» в формуле. – Lowpar