如果函数给出运行计时器错误'438'

我无法看到这行代码中的错误。 也许我需要第二双眼睛来认识它:

targetWs.Cells(subRow, 7) = Application.WorksheetFunction.MedianIf(sourceWs.Range("X3:X92"), ">" & 0) 

MedianIf不是WorksheetFuntion的子项。 它不存在。

这将是数组公式:

 MEDIAN(IF(X3:X92 > 0,X3:X92)) 

所以我们需要使用Worksheet.Evaluate():

 targetWs.Cells(subRow, 7) = sourceWs.Evaluate("MEDIAN(IF(X3:X92 > 0,X3:X92))")