[算表] VBA For迴圈問題

看板Office作者 (廢柴二號)時間13年前 (2012/11/07 16:19), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/3 (看更多)
軟體:Excel 版本:2010 問題摘要:欲將單一欄(B)資料中由上往下找出某一筆值小於2大於1.7的儲存格, 並將其列數傳回後,貼於特定儲存格內(C2)中以便後續運算, 然而在逐行執行時並無進入迴圈也無顯示特殊錯誤訊息, 還是有邏輯上的錯誤,煩請板友解惑,非常感謝。 以下是code: == Set PasteData = Range("B2", PasteTimeL) 'PasteTimeL已定義 For i = 2 To PasteData.Rows.Count If Worksheets(1).Cells(i, 2).Value < 2 Then Set Paste = Range(Cells(i, 2)) Set Range("C2").Value = Paste.Row End If Exit For Cells(i, 2).Value = 1.7 Next i -- 作者 kuguaboy (吃地瓜會放屁) 看板 sex 標題 [討論] 怎麼改掉尿尿大聲的問題 時間 Wed Jun 30 23:05:29 2010

06/30 23:09,
把老二插進水裡面尿阿 幹
06/30 23:09
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.44.107

11/07 16:25, , 1F
exit for放在外面的話 這樣廻圈不就最多只會跑1次?
11/07 16:25, 1F

11/07 16:35, , 2F
感謝樓上! 但若需要設定exit for條件為值<1.7時
11/07 16:35, 2F

11/07 16:36, , 3F
是要把exit for寫在if的條件(else)裡面?
11/07 16:36, 3F

11/07 16:37, , 4F
*elseif
11/07 16:37, 4F
感謝板友指教,For loop有跑得較正常,以下是修正後code For i = 2 To PasteData.Rows.Count If Worksheets(1).Cells(i, 2).Value < 2 Then Set Paste = Range(Cells(i, 2)) Set Range("C2").Value = Paste.Row ElseIf Worksheets(1).Cells(i, 2).Value < 2 Then Exit For End If Next i 這裡又遇到個問題,在Set Paste = Range(Cells(i,2))時,顯示 Range 方法 (global) 失敗,在改成 Set Paste = Cells(i,2)時便可以正常執行,請問是Cells的哪一項性質導致呢?? 另外在下一行 Set Range("C2").Value = Paste.Row則是顯示 "執行階段錯誤:此處需要物件"的錯誤,請問是指需要再指定另一變數嗎? ※ 編輯: philfeel978 來自: 140.96.44.107 (11/07 16:50) 發現錯誤了,原來是沒有物件只要設定值根本不用Set嘛...orz ※ 編輯: philfeel978 來自: 140.96.44.107 (11/07 16:57)
文章代碼(AID): #1GcXcANX (Office)
討論串 (同標題文章)
文章代碼(AID): #1GcXcANX (Office)