返回列表 上一主題 發帖

有關迴圈寫法

樓主~您的程式碼中有一行~ 覺得蠻奇怪的~
IF ABS(Y)<5 Then "計算值" <===是指最後Y值經過絕對值的轉換要<5,就秀出計算值,那如果>5是不是不要秀出計算值呢???
且看樓主的描述最後的計算值是不是只有一個值??
Hsieh大大的計算值是會將迴圈中所有的計算結果都帶出來唷~ 會有兩百筆數據~
學習才能提升自己

TOP

本帖最後由 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

學習才能提升自己

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題