我一直在尝试通过范围使用Case来提示消息框。建议我使用For Loop遍历多个范围。
现在,只要执行此操作,它就会提供“编译错误:下一个没有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消息(稍后将触发另一个宏)。
答案 0 :(得分:0)
这是一个订购问题。您需要在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
您的描述意味着您可能希望查看worksheet change event。另请参见this。请注意,这不适用于通过计算更改的单元格。