我试图找到一个循环这个宏的相关线程,但我很难找到一个相关的。我真正想做的就是输入公式(已经写在列中的每个单元格中)作为数组。这是我做前三个的宏,但是我很难找到一个简单的方法来循环这个,比如前500行。
Selection.FormulaArray = _
"=IF(ISERROR(INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R4C3,ROW(Sheet3!R1C1:R495C2)),ROW(Website!R[-9])),1)),"""",INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R4C3,ROW(Sheet3!R1C1:R495C2)),ROW(Sheet3!R[-9])),1))"
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.FormulaArray = _
"=IF(ISERROR(INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R11C3,ROW(Sheet3!R1C1:R495C2)),ROW(Website!R[-10])),1)),"""",INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R11C3,ROW(Sheet3!R1C1:R495C2)),ROW(Sheet3!R[-10])),1))"
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.FormulaArray = _
"=IF(ISERROR(INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R12C3,ROW(Sheet3!R1C1:R495C2)),ROW(Website!R[-11])),1)),"""",INDEX(Sheet3!R1C1:R7000C8,SMALL(IF(Sheet3!R1C1:R495C2=R12C3,ROW(Sheet3!R1C1:R495C2)),ROW(Sheet3!R[-11])),1))"
ActiveCell.Offset(1, 0).Range("A1").Select
有人可以帮我吗?我会很感激!
答案 0 :(得分:1)
如果已经在某个区域中有正常公式,并且您想将它们转换为数组公式,请选择单元格并运行:
Sub MakeArray()
Dim r As Range
For Each r In Selection
If r.HasFormula Then
r.FormulaArray = r.Formula
End If
Next r
End Sub