一个MsgBox显示所有通过和失败

时间:2019-06-10 11:38:21

标签: vba excel-vba msgbox

我试图在一个消息框中添加样本的通过和失败。

Data

所有高于0.24的范围均为不合格,下面为合格,并在一个框中显示合格和不合格的情况,并带有相应的样本#

下面的代码一个接一个地显示框,甚至错误地显示它们,有些是空白的,有些是不正确的。

请帮助我。谢谢

Sub MsgB()
Dim x As Long
For x = 2 To 8
    If Sheet2.Range("B" & x).Value < 0.24 Then
       y = Sheet2.Range("A" & x).Value
      MsgBox "Pass: " & y
   Else
     MsgBox "Fail: " & y
   End If
Next

End Sub

2 个答案:

答案 0 :(得分:0)

在这里,您可以通过串联字符串并仅提供一次输出来在一个消息框中合并所有通过和失败的操作:

QTimer.singleShot(...)

答案 1 :(得分:-1)

您可以将结果累积在两个字符串变量中,如下所示,并在循环完成后显示结果。此外,仅当值小于y时才设置0.24。您需要在y之前设置If

Sub MsgB()
Dim x As Long
Dim pass as String
pass = ""
Dim fail as String
fail = ""
For x = 2 To 8
    y = Sheet2.Range("A" & x).Value
    If Sheet2.Range("B" & x).Value < 0.24 Then
        pass = pass & ", " & y
    Else
        fail = fail & ", " & y
    End If
Next
' Print pass and fail, removing the leading ", ".
pass = Right(pass, Len(pass) - 2)
fail = Right(fail, Len(fail) - 2)
MsgBox "Pass: " & pass & vbCrLf & "Fail: " & fail

结束子