Игнорирование пустых ячеек функции future

прошу помочь отредактировать макрос так, чтобы он игнорировал не 1 пустую ячейку а вплоть до 12 и работал с теми диапазонами которые содержат данные. Макрос ниже:

Public Function future(ByVal r1 As Range, ByVal r2 As Range, ByVal r3 As Byte) As Variant

    On Error GoTo errHandler

    If (r1.Columns.Count <> r2.Columns.Count Or r1.Rows.Count <> 1 Or r2.Rows.Count <> 1) Then
        future = "ERROR!"""
        Exit Function
    End If

    Dim denominatorSum As Double
    Dim numeratorSum As Double
    Dim denominator As Double

    Dim length As Integer

    length = r1.Columns.Count

    numeratorSum = 0
    denominatorSum = 0

    For i = 1 To length
    Debug.Print r2.Cells(1, length - i + 1)
    Debug.Print r1.Cells(1, i)

        If Not (IsEmpty(r2.Cells(1, length - i + 1))) And Not (IsEmpty(r1.Cells(1, i))) Then

            If i = length Then
                denominator = r2.Cells(1, length - i + 1)
            Else
                denominator = r2.Cells(1, length - i + 1) - r2.Cells(1, length - i) * r3
            End If
            numeratorSum = numeratorSum + (r1.Cells(1, i) * denominator)
            denominatorSum = denominatorSum + denominator

        End If
    Next i

    If denominatorSum = 0 Then
        future = "ERROR!"
        Exit Function
    End If

    future = numeratorSum / denominatorSum

    Exit Function

errHandler:

    future = "ERROR!"

End Function

https://drive.google.com/file/d/16JFMT93pLys6ur3hlWHGPZ3DU9eHw_UE/view?usp=sharing здесь пример файла, где функция вверху работает а внизу нет.


Ответы (0 шт):