Excel 用于循环提前停止的VBA

Excel 用于循环提前停止的VBA,excel,vba,Excel,Vba,我想通过100次循环,当a为101时停止,然后转到下一行。然而,当它达到101时,代码就停止并转到下一行。如果for循环是从1到10,那么is将毫无问题地转到下一行,但是似乎任何大于10的is都不会转到下一行 Function fint(x As Double) As Double Dim a As Double, b As Double, c As Double, d As Double, e As Double Dim sum As Variant, sum1 As Variant, sum

我想通过100次循环,当a为101时停止,然后转到下一行。然而,当它达到101时,代码就停止并转到下一行。如果for循环是从1到10,那么is将毫无问题地转到下一行,但是似乎任何大于10的is都不会转到下一行

Function fint(x As Double) As Double
Dim a As Double, b As Double, c As Double, d As Double, e As Double
Dim sum As Variant, sum1 As Variant, sum2 As Variant, sum3 As Variant
Dim group As Double, group1 As Double, group2 As Double

sum = 0
sum1 = 0
sum2 = 0
sum3 = 0

For a = 0 To 100

sum = sum + (x / 2) ^ (2 * a) / ((WorksheetFunction.Fact(a)) ^ 2 * (2 * a + 1))

Next a

group = -1 * (0.5772156649 * WorksheetFunction.Ln(x / 2)) * x * sum

fint = group

End Function

尝试将Dim组设置为十进制
0到100101@PuravTheGreat我该怎么做?我尝试使用vba,但无法将其设置为十进制。@Rain yeh nvm我在某个地方读到,您可以将变量设置为
十进制
,但您不能,您可以做的最好是
双精度
,但这对您不起作用…尝试使用20、30、40。。。等等,直到它停止工作-这可能是你能得到的最准确的值?