Excel VBA: функция, возвращаемое значение странно - PullRequest
0 голосов
/ 20 января 2012

У меня есть функция 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

1 Ответ

2 голосов
/ 20 января 2012

Я все еще пытаюсь понять, что вы пытаетесь сделать, но я предлагаю первую ошибку:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...