Я все еще пытаюсь понять, что вы пытаетесь сделать, но я предлагаю первую ошибку:
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