Если условие чтения нескольких элементов массива в VBA - PullRequest
1 голос
/ 29 апреля 2020
For i = 2 To 7
If SlideSeen(i) = False Then GoTo EndSlide
Next i

Как мне сделать логи c таким образом, чтобы я мог Если условие считывать несколько элементов массива.

В этом случае: If SlideSeen(2) to SlideSeen(7) = false Then Goto EndSlide

РЕДАКТИРОВАТЬ: Этот код работает:

Dim allTrues As Boolean
allTrues = True

For i = 2 To 7
If SlideSeen(i) = False Then allTrues = False
Next

If allTrues = True Then
'
Else
'
End If

1 Ответ

1 голос
/ 29 апреля 2020

Один из вариантов - проверить, являются ли какие-либо из этих элементов массива True ... если нет, то все они False.

For i = 2 To 7
    Dim anyTrues As Boolean
    If slideSeen(i) Then anyTrues = True
Next

If Not anyTrues Then GoTo EndSlide

, хотя я бы предостерег от использования GoTo здесь как это может быть началом кода спагетти.

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