【发布时间】:2016-06-03 11:31:30
【问题描述】:
我有问题。对于某个电子表格,我想找出小于阈值(进一步称为 maxt)的值的位置(仅列)。我必须在 VBA 中解决这个问题,因为我需要它们在不同的工作表上给出累积的数字。
我能够检索小于阈值的最大值,但 vba 匹配函数返回一个错误,即找不到该数字。 但是,如果将值 maxt 复制到一个单元格中,并且我使用工作表上的正常匹配函数,并且单元格包含 maxt 作为条件(=MATCH(cell of maxt; range),则它可以正常工作。
问题(我的示例中只填写了 A 到 C;无关紧要,因为它仅适用于少数几个星座)。
A B C
8 5 6 -> 不起作用(错误:1004)
5 6 7 -> 有效
7 6 7 -> 有效
4 8 5 -> 有效
下面是代码。
Dim myVar As Double
Dim myVarAdress As Long
For I = 1 To 10
myVar = Evaluate("=MAX(IF(A" & I & ":M" & I & "<6, A" & I & ":M" & I & "))")
myVarAdress = Application.WorksheetFunction.Match(myVar, Range("A" & I & ":M" & I))
Next I
End Sub
提前致谢
【问题讨论】: