Как сделать оператор if внутри цикла? - PullRequest
0 голосов
/ 05 декабря 2018

У меня проблемы с оператором if внутри цикла.Каждый раз, когда я пытаюсь запустить его, выдается сообщение об ошибке:

next без for

Sub CheckDates4()

    Dim count As Integer
    Dim i As Integer
    Dim j As Integer

    count = 0
    i = 2
    j = 24

    For i = 2 To 318
        For j = 46 To 1 Step (-2)
            If Sheet1.Cells(i, j) >= Sheet2.Cells(1, 1) And Sheet1.Cells(i, j - 1) = "Reçu" Then
                count = count + 1
            Next i
        Next j

    End If

    Sheet2.Cells(1, 7) = count

End Sub

Есть идеи, как это исправить?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Сначала необходимо закрыть условие If с помощью End If.Затем закройте внутреннюю петлю For с помощью Next j.Наконец, закройте внешнюю петлю For с помощью Next i.Итак, ваш код должен выглядеть так:

Sub CheckDates4()
    Dim count As Integer
    Dim i As Integer
    Dim j As Integer

    count = 0
    i = 2
    j = 24

    For i = 2 To 318
        For j = 46 To 1 Step (-2)
            If Sheet1.Cells(i, j) >= Sheet2.Cells(1, 1) And Sheet1.Cells(i, j - 1) = "Reçu" Then
                count = count + 1
            End If
        Next j
    Next i

    Sheet2.Cells(1, 7) = count
End Sub
0 голосов
/ 05 декабря 2018

Ваш END IF был не в том месте, и вы также поменяли свой NEXTs:

For i = 2 To 318
    For j = 46 To 1 Step (-2)
        If Sheet1.Cells(i, j) >= Sheet2.Cells(1, 1) And Sheet1.Cells(i, j - 1) = "Reçu" Then
            count = count + 1
        End If
    Next
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...