- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
47#
發表於 2013-8-15 21:47
| 只看該作者
回復 46# t8899
因為漲跌兩邊都要執行,
所以會加兩行 :- Dim sStr$
- Dim ZZ As Range
-
- sStr = ""
- sStr2 = ""
- For Each ZZ In Range("c2:c111")
- If Not IsError(ZZ) Then
- If Range("Q26").Value = 1 And flag = True Then
- M = Round(ZZ - ZZ.Offset(, 26), 2)
- If M >= ZZ.Offset(, 2) Then
- If sStr <> "" Then sStr = sStr & Chr(10)
- sStr = sStr & "" & Cells(ZZ.Row, 2).Value & "=====> " _
- & Round(ZZ - ZZ.Offset(, 26), 2)
- ZZ.Offset(, 26) = ZZ ' <======= 加在這裡
- End If
- If M <= -ZZ.Offset(, 2) Then
- If sStr2 <> "" Then sStr2 = sStr2 & Chr(10)
- sStr2 = sStr2 & "" & Cells(ZZ.Row, 2).Value & "=====> " _
- & Round(ZZ - ZZ.Offset(, 26), 2)
- ZZ.Offset(, 26) = ZZ ' <======= 加在這裡
- End If
- End If
- End If
- Next
- If sStr <> "" Then
- CreateObject("Wscript.shell").Popup sStr, 4, "Auto Closed MsgBox", 64
- End If
- If sStr2 <> "" Then
- CreateObject("Wscript.shell").Popup sStr2, 4, "Auto Closed MsgBox", 64
- End If
複製代碼 另外,建議你可以參考類似上面這樣有做縮排處理的程式編寫習慣,
只需先找到區塊的某一邊,
直接按上或下鍵就能確認區塊的範圍,
這樣要找問題或是切入點會比較容易,
也比較不容易因為要找一些缺東缺西的問題而浪費寫程式的時間. |
|