Excel公式为excel-vba
我有这个公式,查看多个列的各种标准,并检查,如果所有的标准匹配,它会将数据从一列粘贴到另一列。 我已经尝试了几种方法将其纳入VBA,但我似乎无法得到任何工作。 谢谢!
=IFERROR(INDEX(Sheet1!A$2:A$205,SMALL(IF(ISNUMBER(SEARCH("ECR Approval",Sheet1!$C$2:$C$205)),ROW(Sheet1!$A$2:$A$205)-ROW(Sheet1!$A$2)+1),ROWS(A$2:A2))),"")
这是一个数组公式,您可以通过使用以下代码将该公式放置在工作表上…
Dim ws As Worksheet Set ws = Sheets("Sheet2") 'Sheet where formula would be placed ws.Range("A2").FormulaArray = "=IFERROR(INDEX(Sheet1!A$2:A$205,SMALL(IF(ISNUMBER(SEARCH(""ECR Approval"",Sheet1!$C$2:$C$205)),ROW(Sheet1!$A$2:$A$205)-ROW(Sheet1!$A$2)+1),ROWS(A$2:A2))),"""")" ws.Range("A2").AutoFill ws.Range("A2:A205"), xlFillDefault
要在VBA中使用函数,需要在每个函数Application.WorksheetFunction之前使用。
x = Application.WorksheetFunction.Sum(y,z)
要在VBA中引用单元格中的单元格,可以使用Rage
x = Application.WorksheetFunction.Sum(Range("A1:A2"))
把它放在一起,看起来像这样:
=Application.WorksheetFunction.IFERROR(Application.WorksheetFunction.Index(Worksheet(1).Range("A2:A205"),Application.WorksheetFunction.SMALL(Application.WorksheetFunction.IF(Application.WorksheetFunction.ISNUMBER(....