Я искал решение для ввода формулы длинного массива, но метод замены не работает. это мой код:Невозможно выполнить операцию замещения с помощью формулы массива (VBA)
Sub code()
Dim parte1, parte2 As String
With ThisWorkbook.Sheets("RESUMEN E. CRITICOS")
''RUT
parte1 = "IFERROR(INDEX(rut_cliente,SMALL(IF(plataforma=R1C2,ROW(rut_cliente)-ROW(BD_EV!R3C1)+1),ROWS(BD_EV!R2C1:R[-1]C[-2]))),"""")"
With .Range("C3")
.FormulaArray = "=IF(R1C2=""Todas"",IFERROR(INDEX(rut_cliente,SMALL(IF(plataforma<>""*"",ROW(rut_cliente)-ROW(BD_EV!R3C1)+1),ROWS(BD_EV!R2C1:R[-1]C[-2]))),""""),reemplazar)"
.Replace "reemplazar", parte1, xlPart
End With
End With
End Sub
Эта формула массива приводит список значений из другого листа и работе с именованными диапазонами, но и со статическими ссылками. Проблема в том, что если я хочу удалить строки на ссылочном листе, статические ссылки перестанут работать. Я попытался использовать обходной путь с именованными диапазонами для статических ссылок, но это не помогло (они постоянно реорганизуют ссылочный диапазон ... не могу сказать почему). Это статические ссылки: ROW(BD_EV!R3C1)+1)
и ROWS(BD_EV!R2C1:R[-1]C[-2])
. Пожалуйста, помогите! Спасибо!
Благодаря Kylo ... любил свою роль в The Force будит. Должен ли я сгладить «arrayFormula»? если да, должно ли оно быть как строка? спасибо –
Спасибо, забудьте о том, что я получил мою прикладом, взбитой девушкой, да, я сделал ОК. И да, сделайте это «string» – KyloRen
Kylo, попробовал свое первое решение, так как я хочу поместить формулу в ячейку, а не в значение. он разбился на '.FormulaArray = arrayFormula' с ошибкой 1004: не могу присвоить свойство formulaarray класса range. –