- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
本帖最後由 hugh0620 於 2011-6-8 13:57 編輯
樓主~ 你給的數據若執行Hsieh大大的程式碼+判斷式IF ABS(Y)<5 Then "計算值~
應該不會有值跑出來~ 因為運算出來的值都大於5
依Hsieh大大的程式碼修改成您需要的~
Private Sub CommandButton1_Click()
V1 = Range("B1") ' (使用者輸入值)
T1 = Range("B2") ' (使用者輸入值)
TW = Range("B3") ' (使用者輸入值)
W = Range("B4") ' (使用者輸入值)
'計算值 (y): XXXXX (經過下列計算後把數值顯示此欄位)
For T = T1 - 2 To T1 Step 0.01
X1 = 0.02273 - (0.2275 * 10 ^ -2) * T1 + 1352 * 10 ^ -4 * T1 ^ 2 - 2.607 * 10 ^ -6 * T1 ^ 3 + 2.642 * 10 ^ -8 * T1 ^ 4
IS1 = 0.24 * T1 + X1 * (597.3 + 0.44 * T1)
X = 0.02273 - (0.2275 * 10 ^ -2) * T + 1352 * 10 ^ -4 * T ^ 2 - 2.607 * 10 ^ -6 * T ^ 3 + 2.642 * 10 ^ -8 * T ^ 4
I = 0.24 * T + X * (597.3 + 0.44 * T)
VS1 = 0.632 + 1.55 * 10 ^ -2 * T1 - 3.385 * 10 ^ -4 * T1 ^ 2 + 3.85 * 10 ^ -6 * T1 ^ 3
Y = V1 / VS1 * (IS1 - I) - W * (T - TW)
If VBA.Abs(Y) < 5 Then '<--將每次運算的y值進行判斷,若符合後將值帶出,並離開程式
Range("B5") = Y
Exit Sub
End If
Next T
End Sub
|
|