Вставка Формулы массива через VBA

Я использую VBA, и мне нужно вставить формулу массива (тот, который, если я пишу его вручную, я нажму Ctrl+ Shift+ Enter и не только Enter). Когда я вставляю его как обычную формулу, он не работает, ни когда я помещаю его с {} вокруг него... Как правильно написать эту формулу с помощью VBA?

формула такая:

 =INDEX(subset!R1C1:R2472C10,MATCH(1,(RC1=subset!C1)*(RC2=subset!C2)*(RC5=subset!C5)*(RC6=subset!C6),0),10)  

1 ответов


вы ищете FormulaArray свойство, которое можно задать для ячейки вот так:

Range("A1").FormulaArray = "=INDEX(subset!R1C1:R2472C10,MATCH(1,(RC1=subset!C1)(RC2=subset!C2)(RC5=subset!C5)*(RC6=subset!C6),0),10)"

см. документацию здесь: http://msdn.microsoft.com/en-us/library/office/ff837104%28v=office.15%29.aspx