我在这里做错了什么?
Dim Found() As Variant
Dim Found1 As Variant
Found = Application.Transpose(Application.Evaluate("=IF((ID=""" & sString1 & """)*(No=Value(""" & sString2 & """)),ROW(ID),""z"")"))
Found1 = Filter(Found, "z", False)
我有一个很好的“Found”数组,其中包含所有“z”:s,只有一个有效命中。但是当我尝试使用Filter函数来消除“z”时,我得到一个“不匹配”错误?为什么?“
ID和No是“命名范围” ID是字符串,No是数字
答案 0 :(得分:2)
您不希望变种数组只是想要一个恰好是数组的变体。
Dim Found() As Variant
Dim Found1 As Variant
Found = Application.Transpose([A1:A5])
Found1 = Filter(Found, "z", False)
答案 1 :(得分:0)
所以这就是我现在所处的位置
Dim Found() As Variant
Found = Application.Evaluate("=IF((ID=""" & sString1 & """)*(No=Value(""" & sString2 & """)),ROW(ID),""z"")")
i = 1
While Found(i, 1) = "z"
i = i + 1
Wend
如果我不能使用Filter那么也不需要转置,我只是遍历数组直到找到我的匹配。我将永远只有一个!我将有多达5000行,因此时间因情况而异。