如何使用案例遍历范围



我一直在尝试通过范围使用案例来提示消息框。建议我使用 For 循环来遍历多个范围。

现在,每当我这样做时,它都会提供"编译错误:下一个没有 For">

我知道每个 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 - 参与"时,就会触发消息 ox(稍后会触发另一个宏(。

这是一个排序问题。您需要在Next之前关闭Select Case

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

您的描述意味着您可能想要查看工作表更改事件。另请参阅此内容。请注意,这不适用于通过计算更改的单元格。

最新更新