- 帖子
- 6
- 主題
- 2
- 精華
- 0
- 積分
- 58
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2013-5-13
- 最後登錄
- 2016-7-24
|
3#
發表於 2016-7-14 00:31
| 只看該作者
本帖最後由 zv1122 於 2016-7-14 00:43 編輯
回復 2# GBKEE
感謝版主回復
不好意思,我巨集初學者表達得不好,版主那段好像跟我思考的不同
後來土法煉鋼錄阿寫阿寫出這段,懇請幫看看
原意:跳到活頁簿A,A1工作表運算,A2工作表運算,等3秒,排序A2工作表的J1:N405以M2排。
跳到活頁簿B,B1工作表的DG:DH欄做運算。
跳到活頁簿A,如果U1不是空白讓巨集停止,否則跳計時器重複做。
PS 1.那個等3秒是為了運算完再做排序,如果太快排序有些儲存格資料是還沒運算的下去排序。
2.其實活頁簿、工作表之間跳來跳去是不必要的動作,因為只會用錄的結果寫成這樣。懇請高手修改優化- Sub sort()
- Windows("A.xls").Activate
- Sheets("A1").Select
- Application.MaxChange = 0.001
- ActiveWorkbook.PrecisionAsDisplayed = False
- ActiveSheet.Calculate
- Sheets("A2").Select
- Application.MaxChange = 0.001
- ActiveWorkbook.PrecisionAsDisplayed = False
- ActiveSheet.Calculate
- Application.Wait Now + TimeValue("0:0:3")
- Range("J1:N405").sort Key1:=Range("M2"), Order1:=xlDescending, Header:= _
- xlYesGuess
- Windows("B.xls").Activate
- Sheets("B1").Columns("DG:DH").Calculate
- Windows("A.xls").Activate
- If Range("U1") <> "" Then Exit Sub
- Call Start
- End Sub
- Sub Start()
- t = Now + TimeValue("00:00:15")
- If Range("U1") <> "" Then Exit Sub
- Application.OnTime t, "sort"
- End Sub
複製代碼 |
|