我有一个涉及排名值的程序。我的代码(剥离到重要部分)看起来像这样:
Dim myArray() as variant
ReDim myArray(1 to 4, 1 to x)
for i = 1 to x
myArray(1,i) = a
myArray(2,i) = b
myArray(3,i) = c
next i
for j = 1 to x
myArray(4,j) = Application.Rank_Eq(myArray(3,j), Application.Index(myArray,3,0), 1)
next j
for k = 1 to x
myFunction(myArray(4,k))
next k
调试它,for j = 1 to x
循环工作正常,如果我只返回j
的值或myArray(3,j)
的值,但它在j = 1时突破循环当我使用Application.Rank_Eq()
公式时。
我做过一些非常愚蠢的事情,我无法看到,或者这是一个Excel问题?
编辑:
我尝试使用以下内容进行调试:
myIndex = Application.Index(myArray,3,0)
for k = 1 to x
MsgBox myIndex(k,1)
a = Application.Rank_Eq(myIndex(1,k), editedRows, 1)
next k
这似乎运行正常 - 即返回myIndex(k,1)
的每个值。但是,如果我在下一个MsgBox a
之前添加k
,那么它会中断。这表明它与Rank_Eq
返回的值有关,没有?