返回列表 上一主題 發帖

有關Excel vba中的Do Loop不太明白

回復 4# drgv11

Do ... Loop 舉例演示:
  1. Option Explicit

  2. Sub DoLoopTest()
  3. Dim a#, b#, h#
  4. Dim Rad#, c#
  5. Dim iter%, IterMax%
  6. Const e = 0.00000001        '誤差許可值
  7. Const Pi = 3.14159265358979

  8. IterMax = 500               '最高搜尋迭代數

  9. Rad = Pi * 45 / 180

  10. a = 100     '初始值
  11. h = 5       '初始搜尋步長
  12. Do
  13.     b = a * Sin(Rad) - 20
  14.     If Abs(b) < e Then Exit Do      '浮點數運算很難得到完全相等
  15.     If b > 0 Then
  16.         a = a - h
  17.     Else
  18.         h = h * 0.5
  19.         a = a + h
  20.     End If
  21.     iter = iter + 1
  22. Loop While iter < IterMax    '無解時可以跳出 迴圈
  23. Debug.Print
  24. Debug.Print "  iter = " & iter
  25. Debug.Print "Ans. a = " & a
  26. Debug.Print "     h = " & h
  27. End Sub
複製代碼

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題