Vba For循环拒绝通过

Vba For循环拒绝通过,vba,excel,for-loop,Vba,Excel,For Loop,我有一个非常简单的for循环,或者我是这么想的,它拒绝通过。每当我运行主代码时,这是一个exsert,代码似乎没有运行,我已经将它缩小到这个For循环 Sub Test_3() Dim b As Double Dim a As Long Dim xvalues As Double Dim yvales As Double b = 1 For a = 55 To 15 Step -0.25 xvalues = a yvalues = (-0.000005023488366

我有一个非常简单的for循环,或者我是这么想的,它拒绝通过。每当我运行主代码时,这是一个exsert,代码似乎没有运行,我已经将它缩小到这个For循环

Sub Test_3()

Dim b As Double
Dim a As Long
Dim xvalues As Double
Dim yvales As Double

b = 1

For a = 55 To 15 Step -0.25

    xvalues = a

    yvalues = (-0.000005023488366 * ((xvalues) ^ 6)) + (0.000988717992 * ((xvalues) ^ 5)) - (0.07843393602 * ((xvalues) ^ 4)) + (3.20338362 * ((xvalues) ^ 3)) - (70.82720195 * ((xvalues) ^ 2)) + (807.4320705 * xvalues) - 3512.053837

    Cells(1 + b, 12) = yvalues

    b = b + 1

Next a

End Sub
当我向每一行添加断点时,我发现在a=55到15步骤-0.25之后,代码似乎结束了。我不知道这是为什么。如果我按住F5键,断点标记将在
b=1
之间保持跳跃,以使a=55到15步-0.25


任何帮助都将受到感谢。谢谢

您应该将
a
声明为浮点值。 例如,
将a变暗为双色

目前它是一个
Long
,在这种情况下
55-0.25
总是
55

看看这个例子,当计数器被声明为整数值时,
1+0.49
1


您应该将
a
声明为浮点值。 例如,
将a变暗为双色

目前它是一个
Long
,在这种情况下
55-0.25
总是
55

看看这个例子,当计数器被声明为整数值时,
1+0.49
1


是的,谢谢,因为
Long
只定义整数?我说的对吗?是的,
Long
表示整数,@CptGoodarExcellent,这就是我认为它失败的原因。是的,谢谢你,因为
Long
只定义整数?我说的对吗?是的,
Long
表示整数,@CptGoodarExcellent,这就是为什么我认为它失败了。
Sub TestMe()
    Dim a As Long
    For a = 1 To 3 Step 0.49 'change to 0.5 to see difference
        Debug.Print a
        Stop                 'if you remove the Stop, you would go to infinite loop
    Next a
End Sub