看板 Office 關於我們 聯絡資訊
※ 引述《hahawin (haha)》之銘言: : excel 2003 : 我有寫一個excel VBA程式 有For迴圈 在最後面我加了一行 : : : If Cells(i, 10).Value = "無" Then i = i - 1 Else i = i : : : 基本上就是說如果儲存格(i, 10).Value = "無" 我就讓 i -1 要他跑到有值 才可以 原則上 這段邏輯就有點錯誤 如果你要讓他 i - 1 結果 又來個 next , i 又 + 1 當然會無限迴圈,兩者的觸發點有問題 所以這已經不是程式碼的問題,而是問題本身的邏輯性有問題 請原 PO 重新思考你要的過程跟結果 : : : 但後來發現需要考慮到另一個參數 : : 基本上概念是說 : : 如果 Cells(i, 10).Value = "無" 且 Cells(i, 4).Value= "#VALUE!" i要等於i : : 如果 Cells(i, 10).Value = "無" 且 Cells(i, 4).Value 不等於"#VALUE!" i要減1 : : 再次從跑 ^^^^^^^^ 這裡應該是你的問題點 , 何謂再次重跑? 如果再次重跑時,Cells裡面的值也沒有變化,這樣的結果是會造成無限迴圈 故,再想一下你的需求是什麼?? : : : 請問以上條件 我要寫if的判別是要怎麼寫啊? : : 給寫出來第一個可以用的300P! 感謝!! : : : : -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.74.194.125 ※ 編輯: OxfordGOD 來自: 203.74.194.125 (11/15 12:07)