Состояние внутри цикла (VBA) - PullRequest
0 голосов
/ 12 января 2019

Я написал эту простую подпроцедуру для Excel VBA. Я намеренно использовал двоеточие (:) для разделения операторов. Почему это не работает?

Sub ConditionInsideLoop()

    cb = 0: cd = 1: For ca = 1 To 5: If cd = 1 Then cb = cb + 1: Next

End Sub

Вопрос в основном теоретический. Но это может быть практично. Например, когда мы используем окно «Немедленно», и внутри простого цикла необходимо использовать простое условие.

1 Ответ

0 голосов
/ 13 января 2019

Это синтаксис. Вы можете переписать, чтобы удалить ошибочный оператор If.

Public Sub ConditionInsideLoop()
    Dim cb As Long, cd As Long, ca As Long
    cb = 0: cd = 1: For ca = 1 To 5: cb = IIf(cd = 1, cb + 1, cb): Next
    Debug.Print cb
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...