Re: [問題] ===300P! 請問一個excel VBA迴圈問題 ====

看板Office作者 (haha)時間12年前 (2011/11/14 23:07), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串3/5 (看更多)
linxiaoxi大你好 我將 Cells(i, 10).Value = "無" 取代IsEmpty(Cells(i, 2)) 帶入程式跑 發現 在 Cells(i, 10).Value = "無" 和 Cells(i, 4)不是Error時 程式就會在那個i 無限迴圈了 = = ※ 引述《linxiaoxi (葡萄神手)》之銘言: : ※ 引述《hahawin (haha)》之銘言: : : excel 2003 : : 我有寫一個excel VBA程式 有For迴圈 在最後面我加了一行 : : If Cells(i, 10).Value = "無" Then i = i - 1 Else i = i : : 基本上就是說如果儲存格(i, 10).Value = "無" 我就讓 i -1 要他跑到有值 才可以 : : 但後來發現需要考慮到另一個參數 : : 基本上概念是說 : : 如果 Cells(i, 10).Value = "無" 且 Cells(i, 4).Value= "#VALUE!" i要等於i : : 如果 Cells(i, 10).Value = "無" 且 Cells(i, 4).Value 不等於"#VALUE!" i要減1 : : 再次從跑 : : 請問以上條件 我要寫if的判別是要怎麼寫啊? : : 給寫出來第一個可以用的300P! 感謝!! : : -- : Sub Macro1() : For i = 1 To 100 : If IsEmpty(Cells(i, 2)) And IsError(Cells(i, 2)) Then : i = i : ElseIf IsEmpty(Cells(i, 2)) And Not (IsError(Cells(i, 2))) Then : i = i - 1 : End If : Next i : End Sub : 上面就是原po想要的代碼 : 但是原po的想法,如果判斷的單元格為空且無錯,EXCEL界面會頓 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.219.129

11/15 09:10, , 1F
對啊,因為不是無且不為錯值,i就會減去1,然后next i
11/15 09:10, 1F

11/15 09:11, , 2F
又會加一,這樣下一次回圈還是這個數值
11/15 09:11, 2F
文章代碼(AID): #1EmIx5wc (Office)
討論串 (同標題文章)
文章代碼(AID): #1EmIx5wc (Office)