繁体   English   中英

Excel公式转换为Excel-VBA

[英]Excel Formulas to 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(....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM