使用VBA将Excel 2010公式转换为数组

美好的一天,

我一直在寻找这一整天,但只能find手动解决方法。

在Excel 2010中刷新我的表格数据时,会在我的公式中导致#N / A,对一些数据进行sorting。 我现在已经创build了公式的文本副本,我可以将其复制回来,但Array公式会要求我为每行按F2和CSE。

我如何让VBA使用单元格中的当前公式,只需添加{}以确保它是一个数组公式?

典型的公式看起来像这样

=sum(1*($G36<$G$2:$G$43))+1+IF(ROW($G36)-ROW($G$2)=0,0, SUM(1* ($G36=OFFSET($G$2,0,0,INDEX(ROW($G36)-ROW($G$2)+1,1)-1,1)))) 

这意味着每行中的每一个公式都是唯一的。

所以我基本上正在寻找一个VBA脚本,可以更改我select的列中所有突出显示的单元格。

谢谢!

select您想要更改并运行的单元格:

 Sub dural() Dim r As Range For Each r In Selection r.FormulaArray = r.Formula Next r End Sub