返回列表 上一主題 發帖

[發問] 簡化程式

[發問] 簡化程式

剛剛開始學習VBA程式想請問各位專家可以簡化的方法
假設我的資料有(C2:C500)

Sub abc()

'判斷歷史最大值是否大於目前值,並以最大值更新歷史最大值
If Worksheets("Sheet1").Range("C2") < Worksheets("Sheet1").Range("B2").Value Then
    Worksheets("Sheet1").Range("C2").Value = Worksheets("Sheet1").Range("B2").Value

End If

If Worksheets("Sheet1").Range("C3") < Worksheets("Sheet1").Range("B3").Value Then
    Worksheets("Sheet1").Range("C3").Value = Worksheets("Sheet1").Range("B3").Value

End If

If Worksheets("Sheet1").Range("C4") < Worksheets("Sheet1").Range("B4").Value Then
    Worksheets("Sheet1").Range("C4").Value = Worksheets("Sheet1").Range("B4").Value

End If

End Sub
感謝教導

感謝Owen06前輩專家的指導
簡化過後的語法確實我想要得
For i = 2 To 4
修改
For i = 2 to 500即可運行又多了解Cells語法的應用

TOP

Owen06前輩不好意思!執行程式過程又出現一些問題想再請教一下

如果"B欄位"當中任何1列出現(#N/A、--、或非數值)的值,則會停止運算該如何處理

B欄           C欄
數值        最大值
38.95        38.95
37.95        37.95
13.85        13.85
19.6        19.6
10.45        10.45
14.95        14.95
55.8        55.8
23.6        23.6
#N/A        (跳出"型態不符合"的警告文字視窗)
21.5       
14.8

TOP

感謝Owen06、c_c_lai前輩專家熱心的指導解惑

兩種程式都測試過了可運算無誤呢!
可是執行程式時發現〈try2()的運算時間會少於test()〉。

謝謝啦!

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題