[算表] VBA For迴圈問題
軟體: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
11/07 16:25, 1F
→
11/07 16:35, , 2F
11/07 16:35, 2F
→
11/07 16:36, , 3F
11/07 16:36, 3F
→
11/07 16:37, , 4F
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)
討論串 (同標題文章)
Office 近期熱門文章
PTT數位生活區 即時熱門文章