Я не уверен, почему я не могу запустить код. Я получаю переполнение ошибки «6» во время выполнения.
Обратите внимание, центральная лицензия C13 может содержать любое количество месяцев, на данный момент содержит 2.
Строка, на которой я получаю сообщение об ошибке, являетсяследующая строка:
Sum = Sum + (ws.Cells(38, i).Value * ws.Cells(7, i).Value) / (NoMonths * (NoMonths - w))
Полный код:
Public Sub DefferedRev()
Dim NoMonths As Range
Set NoMonths = ThisWorkbook.Worksheets("Licence Central").Range("C13")
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("73 Licence C")
If ws.Range("B40").Value = ws.Range("C82").Value Then
ws.Range(ws.Cells(48, 5), ws.Cells(48, 7)).Value = 0
Else
Dim i As Long
For i = 5 To 7
Dim q As Integer
q = (i - 5 Mod NoMonths)
' Dim VectorToSum() As String
'ReDim VectorToSum(0)
Dim w As Long
Dim Sum As Long
Sum = 0
For w = 0 To q
Sum = Sum + (ws.Cells(38, i).Value * ws.Cells(7, i).Value) / (NoMonths * (NoMonths - w))
Next w
ws.Cells(48, i).Value = Sum
Next i
End If
End Sub