作者Catbert (宅男)
看板Office
標題Re: [算表] VBA For迴圈問題
時間Wed Nov 7 17:06:02 2012
※ 引述《philfeel978 (廢柴二號)》之銘言:
: 感謝板友指教,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))時,顯示
這邊要改成
Set Paste = Range(Cells(i,2).Address)
Range跟Cells的預設屬性是Value (應該說VBA中大部分物件的預設屬性都是Value)
:
: 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)
--
不勉強一份連綴不起來的情感
也不輕易放棄
一段曾經有過的感情
是隨緣也是執著
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.40.241
推 philfeel978:原本以為是 物件.(屬性) = 物件.(屬性) 這種對應orz 11/07 17:15
→ philfeel978:想說paste已被宣告為range 11/07 17:16
推 philfeel978:想再請問若是For Next結構下還是用Cells的參照比較方 11/08 10:44
→ philfeel978:便嗎? 還是用For Each Next以Range找尋方式來寫較好? 11/08 10:45