Как я могу пройти через диапазон, используя кейс - PullRequest
1 голос
/ 30 марта 2019

Я пытался использовать дело через диапазон, чтобы вызвать окно сообщения.Мне посоветовали использовать цикл For Loop, чтобы пройти диапазон более одного.

Теперь, когда я делаю это, он выдает «Ошибка компиляции: Далее без For»

Я знаю каждый дляутверждение требует следующего, который я пытался включить, но каждый раз, когда я делаю, я получаю дополнительные ошибки.

Как я могу решить эту проблему?

Dim myRange As Range

For Each myRange In Range("I6,I1000")

Select Case myRange.Value
    Case "7 - engaged"
    VBA.Interaction.MsgBox "Client status selected as engaged. Confirm to post to tank", 1, "Status Change"


Next myRange

End Select

Я пишу это так, что каждый раз, когда ячейка меняется на '7 - Занято', запускается сообщение вола (который запустит другой макрос позже).

1 Ответ

0 голосов
/ 30 марта 2019

Это проблема заказа. Вам нужно закрыть Select Case до Next

Dim myRange As Range

For Each myRange In Activesheet.Range("I6:I1000") '<== better to use actual sheet name in reference

    Select Case myRange.Value
        Case "7 - engaged"
        VBA.Interaction.MsgBox "Client status selected as engaged. Confirm to post to tank", 1, "Status Change"

    End Select
Next myRange

Ваше описание подразумевает, что вы, вероятно, хотите посмотреть на событие изменения рабочего листа . Смотрите также это . Обратите внимание, что это не для ячеек, которые изменяются при расчете.

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