Страницы: 1
RSS
Запись формулы массива в макросе
 
Доброго времени суток.
Возникла проблема. Пытаюсь записать формулу массива как обычную формулу в макрос с протягиванием до последней активной ячейки - выдаёт ошибку.
" Нельзя установить свойство FormulaArray класса Range ".
Перепробовал множество вариантов, предоставленных нашей всемирной сети, везде безрезультатно.
Код
X = Cells(Rows.Count, "c").End(xlUp).Row
    Range("J7").Select
    Selection.FormulaArray = _
        "=INDEX('Лист1'!R6C20:R3600C20,MATCH(RC[-8]&"" ""&RC[-7],'Лист1'!R6C4:R3500C4&"" ""&'Лист1'!R6C5:R3500C5,0)+IFERROR(MATCH(1,--(OFFSET('Лист1'!R6C20,MATCH('Лист2'!RC[-8]&"" ""&'Лист2'!RC[-7],'Лист1'!R6C4:R3500C4&"" ""&'Лист1'!R6C5:R3500C5,0)-1,0,SUM(IF('Лист1'!R6C4:R3500C4&"" ""&'Лист1'!R6C5:R3500C5=RC[-8]&"" ""&RC[-7],1,0)))<>0),0),1)-1)"
    Range("J7").AutoFill Destination:=Range("J7:J" & X), Type:=xlFillDefault
 
Помогите пожалуйста, исправьте что не так.
 
Код
 X = Cells(Rows.Count, "c").End(xlUp).Row


Меня вот это смущает.
"с" - вроде как так нельзя, нет?

Хы!... А я не прав! можно! :)
Изменено: Пытливый - 19.01.2015 23:46:32
Кому решение нужно - тот пример и рисует.
 
Пытливый, можно)

Меня пример ТС смущает тем что если делать эту формулу макрорекордером, то она дает такую же формулу как у него, но потом когда проигрываешь запись рекордера он останавливается с этой ошибкой.
Может ему R1C1 не нравится и надо вместо этого прописывать типа A1?
Работать надо не 12 часов, а головой.
 
с - это на какой столбик ориентируется конечная активная ячейка, везде работает без проблем
 
А формула рабочая?
Может в ней ошибка?
 
Формула сама по себе рабочая
 
длина строки формулы 338 знаков,  ограничение на длину FormulaArray - 255

If you use this property to enter an array formula, the formula must use the R1C1 reference style, not the A1 reference style (see the second example).
The FormulaArray property also has a character limit of 255.
F1 творит чудеса
Страницы: 1
Наверх