Мне нужно применить массив формул к динамическим диапазонам в моих электронных таблицах, который для фиксированного диапазона размеров работает нормально, например:
Selection.Offset(2, 0).FormulaArray = "=(SUM((Exx:Eyy-Fxx:Fyy)^2)/X)^.5"
Но диапазоны не имеют фиксированного размера и положения во всех моих электронных таблицах, поэтому я сначала выбираю их, а затем сохраняю их как массивы измерения 1, а затем переименовываю до длины N.
Эти массивы будут названы, например, A для диапазона Exx: Eyy и B для диапазона Fxx: Fyy, поэтому, когда я хочу применить ту же вышеупомянутую формулу массива, я получаю ошибку Compile Error: type mismatch when using the array variables instead of the explicit ranges
с:
Selection.Offset(2, 0).FormulaArray = "=(SUM((" & A & "-" & B & ")^2)/X)^.5"
И если я не использую кавычки и амперсанд, конечно, я получил ошибку name
.
Я также попытался использовать evaluate
свойство в правой части равенства, и оно работает без ошибок, но таким образом я не получаю то же значение, что и при использовании массива формул: /
Может кто-нибудь помочь мне, пожалуйста?
источник