Игнорирование пустых ячеек функции 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 здесь пример файла, где функция вверху работает а внизу нет.