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

Posted

技术标签:

【中文标题】对于每个循环但在消息框中没有循环【英文标题】:For each Loop but Without Looping in Message Box 【发布时间】:2019-06-02 22:51:10 【问题描述】:

下面的代码简单地说明,对于我的范围,如果它包含 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

【问题讨论】:

MsgBox 什么时候出现,消息应该是什么? 【参考方案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

【讨论】:

一旦条件满足,使用Exit For。继续循环没有意义 是的,但如果您仍然希望突出显示所有单元格,那将无法正常工作。 谢谢你们!我希望在我的案例中突出显示所有单元格

以上是关于对于每个循环但在消息框中没有循环的主要内容,如果未能解决你的问题,请参考以下文章

每个循环的组合框

Windows 线程何时需要消息循环,为啥?

在 foreach 循环中切换语句 - 没有得到预期的结果

Python:如何在没有循环的数据框中查找值?

在 pyspark 数据框中循环遍历两列时将值添加到新列

使用引导程序 4 在没有 javascript 的聊天框中的消息顺序