Excelmacros – 需要知道如何循环这个

我试图find一个相关的线程来循环这个macros,但我正在努力寻找一个相关的。 我真正想要做的是将公式(已经写在列中的每个单元格中)作为数组input。 这是我做前三名的macros,但我正在努力find一个简单的方法来循环这个,例如,前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 

任何人都可以帮助我吗? 我会很感激!

如果您已经有一个区域中有正常的公式,并且想要将它们转换为数组公式,请select这些单元格并运行以下命令:

 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