这段代码有什么问题? VBA

时间:2018-03-30 08:19:45

标签: excel vba excel-vba if-statement conditional-statements

无论条件是否为真,单元格的值始终为“错误”。我尝试过使用其他功能,但它也不起作用。

Sub ejer_4()
    Cells(3, 1).Value = "hola"
    For i = 2 To 21:
        If Int(Cells(i, 3).Value) <> Int(Cells(i + 1, 3).Value) - 1 Then
            Cells(3, 1).Value = "Error"
        End If
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

我认为这应该可以解决你的问题:

Sub ejer_4()
    For i = 2 To 21:
        If Int(Cells(i, 3).Value) <> Int(Cells(i + 1, 3).Value) - 1 Then
            Cells(i, 1).Value = "Error"
        Else
            Cells(i, 1).Value = "hola"
        End If
    Next
End Sub

你的问题是你循环遍历各种细胞,但在检查条件后你写入一个细胞。因此,这个单元格将包含最后一次检查的结果。以前的值将被简单地覆盖。