循环直到列中的两个东西不相等。从另一张纸上提取信息

时间:2017-11-28 23:42:46

标签: excel vba excel-vba

我正在尝试从其他工作表中提取信息,然后检查以确保此工作表中的2个单元格不相同。这是一个随机的膳食计划,但在同一天你不能吃相同的蛋白质(给你一点背景)。我有代码检查,看看它是否可以在用餐期间使用,如果它可以被放入下一张表。这是午餐和晚餐。它会在do循环中被捕获,直到循环,我不知道如何解决这个问题。

如果您需要更多信息,我可以提供截图,如果这没有意义。

Do

RandNumLunch = Int((10 - 2 + 1) * Rnd + 2)

Do Until Sheet2.Cells(RandNumLunch, 6) = "Yes"
    If Sheet2.Cells(RandNumLunch, 6) = "Yes" Then
    Else
    RandNumLunch = Int((10 - 2 + 1) * Rnd + 2)
    End If
Loop

If Sheet2.Cells(RandNumLunch, 6) = "Yes" Then
    Sheet3.Cells(3, 2) = Sheet2.Cells(RandNumLunch, 1)
End If



RandNumDinner = Int((10 - 2 + 1) * Rnd + 2)

Do Until Sheet2.Cells(RandNumDinner, 7) = "Yes"
    If Sheet2.Cells(RandNumDinner, 7) = "Yes" Then
Else
    RandNumDinner = Int((10 - 2 + 1) * Rnd + 2)
End If
Loop

If Sheet2.Cells(RandNumDinner, 7) = "Yes" Then
    Sheet3.Cells(4, 2) = Sheet2.Cells(RandNumLunch, 1)
End If

Loop Until Sheet3.Cells(4, 2) <> Sheet3.Cells(3, 2)

1 个答案:

答案 0 :(得分:0)

在最后的If..Else中,您使用RandNumLunch,您应该使用RandNumDinner。这意味着在两者之间发生的任何事情,您将Sheet3.Cells(3, 2)Sheet3.Cells(4, 2)设置为相同的值,因此最终检查永远不会成立。