我一直在尝试通过范围使用案例来提示消息框。建议我使用 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
您的描述意味着您可能想要查看工作表更改事件。另请参阅此内容。请注意,这不适用于通过计算更改的单元格。