Excel 用于函数不同输入的循环然后在特定值处停止
您好,我正在尝试编写一些VBA代码,以便我的一段输入数据“G”的大小发生变化,从而使excel文件(4个单元格)中的相应方程式使用G进行迭代,直到达到某个数字。。。说1。然后给出结果为1的G 到目前为止,我的代码看起来像:Excel 用于函数不同输入的循环然后在特定值处停止,excel,vba,for-loop,input,while-loop,Excel,Vba,For Loop,Input,While Loop,您好,我正在尝试编写一些VBA代码,以便我的一段输入数据“G”的大小发生变化,从而使excel文件(4个单元格)中的相应方程式使用G进行迭代,直到达到某个数字。。。说1。然后给出结果为1的G 到目前为止,我的代码看起来像: Sub For_loop() Dim x As Single For x = 1 To 10 Step 0.1 ... End Sub 如果你这样做,你会遇到麻烦 Sub For_loop() Dim x As Single
Sub For_loop()
Dim x As Single
For x = 1 To 10 Step 0.1
...
End Sub
如果你这样做,你会遇到麻烦
Sub For_loop()
Dim x As Single
For x = 1 To 10 Step 0.1
Debug.Print x
Next x
End Sub
输出将如下所示:
1
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
1,9
2
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,799999
2,899999
2,999999
3,099999
3,199999
3,299999
3,399999
3,499999
3,599999
3,699999
3,799999
3,899998
3,999998
4,099998
4,199998
…
这不是一个错误,而是因为计算机计算数字而不是绝对值(就像任何计算器一样)。有一定的精确性,但结果总是非常接近事实,但并不精确
保持循环增加整数而不是小数,并将x
设置为10
Sub For_loop2()
Dim x As Long
For x = 10 To 100 Step 1
Debug.Print x / 10
Next x
End Sub
为了得到更精确的结果
1
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
1,9
2
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,8
2,9
3
3,1
3,2
3,3
3,4
3,5
3,6
3,7
3,8
3,9
4
4,1
4,2
…
关于这方面的更多信息:你能重新表述一下你的问题吗?它有点不清楚。“G”应该是返回值吗?如果它返回1,您想知道迭代器当时的值是多少吗?好的,非常感谢!这会适当地改变它,但是当这个输入影响的方程达到某个数字(比如1)时,我如何选择这个变化来停止。把这个数字报告给我哪个方程?请用实例数据给出一个具体的例子。您可以将其编辑为原始问题。我想你可能应该用google for excel solver:看起来你可以用它来代替自己写东西。我有一个很大的excel文件,里面有很多数据和一些函数,这些函数根据这些数据给出输出。本质上,我想像上面一样改变输入中的1,直到其中一个函数的相应输出达到数字1。然后当它达到1时,告诉我输入数据的限制是什么,使其为1。不幸的是,如果不发送我的全部文档,共享方程式将非常困难。再次,请编辑您的原始问题,并在最后给出一个确切的示例(请参阅)。如果不知道您正在做什么,则无法回答该问题。你提供的信息是一种降低成本的方法。另外,请检查解决(上面的链接)是否解决了您的问题。你也可以把方程式复制到你的问题中。我想解算器是适合你的工具。