Может ли быть цикл if внутри цикла if else в VBA? - PullRequest
0 голосов
/ 09 февраля 2019
Sub lol_function()

Dim x, y, count, i, mhr, z, allowed, leftover As Integer

For y = 13 To 210
For x = 6 To 1000 Step 8
allowed = 50 * Cells(x, 8)

mhr = Cells(x, 7)
count = count + mhr

If mhr <= allowed And count <= allowed Then
    Cells(x, y).value = mhr

Else
    Cells(x, y).value = allowed + mhr - count
    y = y + 1

    leftover = count - allowed

If leftover <= allowed Then

    Cells(x, y).value = leftover
    count = leftover

Else

    Cells(x, y).value = allowed
    leftover = mhr - allowed
    y = y + 1

End If

Next x, y

End Sub

Если я не использую второй цикл if else, то код работает нормально, но со вторым оператором if else я получаю сообщение об ошибке «Далее без For».Любая помощь будет оценена.

Также, если я добавлю второй конец, если он испортит мой код.Мне нужно, чтобы он был

if condition
....

else 
....

       if condition
            .....

       else
            .....

end if 

Любой другой способ создать цикл внутри оператора else?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Поскольку у вас есть два оператора «If», вам нужно второе «End If» перед вашим оператором «Next».

0 голосов
/ 09 февраля 2019

Вы должны иметь End If между первым Else и вторым If утверждениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...