Возможно, проблема с памятью? Переполнение VBA - PullRequest
0 голосов
/ 07 ноября 2019

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