- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# StanleyVic
你可在兩寫法 設立一變數為Time,程式結束前 MsgBox Time-變數 測試哪一寫法快
另提供一不用迴圈的解法- Sub Ex()
- Dim Rng As Range, T As Date
- T = Time
- With Sheets("Status B Log")
- Set Rng = Range("D6", Range("D65536").End(xlUp)) 'D欄資料範圍
- Rng.Offset(, 36) = "" 'N欄清除 (將D欄的範圍位移到N欄的範圍)
- Set Rng = Rng.SpecialCells(xlCellTypeConstants) 'D欄有資料範圍
- With Rng.Offset(, 36) 'D欄有資料範圍位移到N欄的範圍
- .Value = "=Round(IF(RC[-36]<>"""",RC[-20]-RC[-5],""""),2)"
- .Value = .Value
- End With
- End With
- ThisWorkbook.Save
- MsgBox (" Quoted vs Invoice ( Variance ) - OK !" & Chr(10) & "共用時: " & Format(Time - T, "HH:MM:SS"))
- End Sub
複製代碼 |
|