我有一个EXCEL VBA函数,该函数应返回第一个单元格的地址,其中单元格值大于零,但它不起作用。有谁知道为什么?
代码:
Function FindNextFilledCell(RowArray() As Integer, ColArray() As Integer)
For i = UBound(ColArray) To 0
For j = UBound(RowArray) To 0
CellValue = cells(RowArray(j), ColArray(i)).Value
If CellValue > 0 Then
FindNextFilledCell = cells(RowArray(j), ColArray(i)).Address(False, False)
Exit Function
End If
Next j
Next i
End Function
答案 0 :(得分:2)
我仍在努力了解你的目的,但我建议第一个错误是:
For i = UBound(ColArray) To 0
而不是
For i = UBound(ColArray) To 0 step -1
这假设您打算以相反的顺序搜索单元格。如果你没有
For i = 0 to UBound(ColArray)
可能会更好。
我发现的下一个错误是你没有定义函数返回的值的类型。尝试:
FindNextFilledCell(RowArray() As Integer, ColArray() As Integer) As String