即使是真的,其他情况也会运行(If / Else)

时间:2016-06-08 09:32:19

标签: excel vba loops if-statement

我目前在excel上使用VBA,我真的需要一些帮助。

如下图所示,我实际上是在尝试检查所有单元格的特定值(2090)&如果在该行中找到2090,则输出“1”,否则输出“0”。此输出将在第25列&与数字所在的行相同。

我做了一些测试&我知道我的代码在遇到2090并输出正确的位置时确实输出“1”等。但是,在输出“1”之后,它会立即再次与“0”重叠。因此,我相信即使If语句为true,else情况也在运行。在执行结束时,我的整个列只产生了一堆“1”而没有别的。

我很感激对此有任何帮助!谢谢。

Sub New()
Dim i As Integer, j As Integer, Needed As Integer
Needed = 2090
For i = 1 To 10
For j = 1 To 20
    If Cells(i, j).Value = Needed Then
       Cells(i, 25).Value = "1"
    Else
       Cells(i, 25).Value = "0"

    End If
Next j
Next i
End Sub

1 个答案:

答案 0 :(得分:5)

如果Cells(2, 10)符合您的条件,Cells(2, 25)将设置为1,但会立即开始测试Cells(2, 11)是否符合您的条件,如果符合您的条件不会被Cells(2, 25)覆盖0

最终结果将始终取决于第20栏中的内容。

如果条件评估为真,你需要打破内循环。