对于每个循环,但在消息框中没有循环

时间:2019-06-02 22:51:10

标签: excel vba for-loop msgbox

下面的代码简单地指出,对于我的范围,如果它的值等于1(或100%)或更大,则用红色突出显示。

但是我想知道响应消息框(如果满足条件的话)而无需执行下一个过程,该过程将弹出消息框的次数与红色单元格(满足条件的单元格的数量)一样多x> = 1)

有没有一种方法可以满足条件,只弹出一个消息框;如果不满足条件,则会弹出另一个消息框,例如MsgBox(“ good to process”)

我尝试循环显示消息框,但似乎不起作用

 Sub myCode()

    Dim iRow As Range, cell As Range

    Set iRow = Range("J16:M43")

    For Each cell In iRow

        If cell.Value >= 1 Then            'message box here will repeat

            cell.Interior.Color = 255

        End If

    Next

End Sub

1 个答案:

答案 0 :(得分:1)

基本上,如果满足条件,则需要将变量设置为“记住”。

Sub myCode()
    Dim iRow As Range, cell As Range, conditionMet as Boolean
    conditionMet=False
    Set iRow = Range("J16:M43")
    For Each cell In iRow
        If cell.Value >= 1 Then            
            cell.Interior.Color = 255
            conditionMet = True
        End If
    Next
    If conditionMet Then
        'Message for condition met
    Else 
        'Message for condition not met
    End if
End Sub