VBA IF声明未找到指示标记

时间:2017-11-10 18:35:38

标签: vba if-statement

有一个时刻程序有t = 1,但我的if语句不会找到它。

是什么给出的? 大多数问题是完全试验该问题的代码 我想用if语句做的是找到什么时候t =整数整数示例1,2,3,4,5然后做东西来返回其他结果但是我找不到时间t = 1所以我卡住< / p>

    Dim neq As Double
    neq = 2
    Dim e As Double
    e = Exp(1)
    Dim t_int As Integer
    t_int = 5

    '''''COUNTERS
    Dim i As Integer
    Dim j As Integer
    Dim colOf As Integer

    '''''EQUATION CONTROL
    Dim h(3) As Double
    Dim n As Double

    '''''EQUATION CONTROL
    Dim u() As Double
    Dim uStar() As Double
    Dim uOld() As Double
    Dim uEx As Double

    '''''EQUATION CONTROL
    Dim f() As Double
    Dim fOld() As Double

    '''''EQUATION CONTROL
    Dim t As Double
    Dim tOld As Double
    Dim tNew As Double

    '''''SIZING ARRAY
    ReDim u(neq)
    ReDim uOld(neq)
    ReDim uStar(neq)
    ReDim f(neq)
    ReDim fOld(neq)

    '''''INITAL VAULES
    h(1) = 0.1
    h(2) = 0.05
    h(3) = 0.025
    u(1) = 2
    u(2) = 0

colOf = 12

For j = 1 To 1
Cells(1, 1 + colOf) = "h(" & j & ") = " & h(j)
Cells(2, 1 + colOf) = "t"
Cells(2, 2 + colOf) = "u(1)"
Cells(2, 3 + colOf) = "u(2)"
Cells(2, 4 + colOf) = "uEx"
For n = 1 To (t_int / h(j))

    tOld = t
    t = tOld + h(j)
    For i = 1 To neq
        uOld(i) = u(i)
    Next i
    For i = 1 To neq
        fOld(i) = fDeriv(uOld, tOld, i)
        uStar(i) = uOld(i) + h(j) * fOld(i)
    Next i
    For i = 1 To neq
        f(i) = fDeriv(uStar, t, i)
        u(i) = uOld(i) + (h(j) * (fOld(i) + f(i))) / 2
    Next i
    i = i - 1
    uEx = 2 * e ^ -t * (Cos((3 ^ 0.5) * t) + ((3 ^ 0.5) ^ -1) * Sin((3 ^ 0.5) * t))

    Cells(n + 2, 1 + colOf) = t
    Cells(n + 2, 2 + colOf) = u(1)
    Cells(n + 2, 3 + colOf) = u(2)
    Cells(n + 2, 4 + colOf) = uEx

    **If t = 1  Then Debug.Print t**

    Next n
colOf = colOf + 5
Next j

0 个答案:

没有答案