编译错误:END IF没有块IF(持久性错误)

时间:2015-05-25 02:40:19

标签: excel-vba compiler-errors vba excel

我真的需要帮助我正在进行的这个项目,但我似乎无法从背后得到这个错误。有人可以推荐解决方案吗?

Sub Dsurvey()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer

    k = 3

    For i = 3 To 22
        j = j + 1
        If Sheets("2").Cells(j, "A").Value - Sheets("2").Cells(i, "A").Value = Sheets("2").Cells(j, "B").Value - Sheets("2").Cells(i, "B").Value Then
            Sheets("2").Cells(k, "J").Value = Sheets("2").Cells(i, "A").Value
            Sheets("2").Cells(k, "K").Value = Sheets("2").Cells(i, "B").Value
            Do While Sheets("2").Cells(k, "J").Value <= Sheets("2").Cells(j, "A").Value
                    Sheets("2").Cells(k, "J").Value = Sheets("2").Cells(k - 1, "J").Value + 100
                    Sheets("2").Cells(k, "K").Value = Sheets("2").Cells(k - 1, "K").Value + 100
                    k = k + 1

        End If
    Next i

End Sub

1 个答案:

答案 0 :(得分:2)

您错过了$t1 = new DateTime('06:00'); $t2 = new DateTime('17:00'); echo $t2->diff($t1)->format('%H:%I'); ,但并未使用End If关闭Do While

Loop

调试版本:

k = 3
For i = 3 To 22
    j = j + 1
    If Sheets("2").Cells(j, "A").Value - Sheets("2").Cells(i, "A").Value = Sheets("2").Cells(j, "B").Value - Sheets("2").Cells(i, "B").Value Then
        Sheets("2").Cells(k, "J").Value = Sheets("2").Cells(i, "A").Value
        Sheets("2").Cells(k, "K").Value = Sheets("2").Cells(i, "B").Value
        Do While Sheets("2").Cells(k, "J").Value <= Sheets("2").Cells(j, "A").Value
            Sheets("2").Cells(k, "J").Value = Sheets("2").Cells(k - 1, "J").Value + 100
            Sheets("2").Cells(k, "K").Value = Sheets("2").Cells(k - 1, "K").Value + 100
            k = k + 1
        Loop
    End If
Next i