2016-03-03 57 views
0

說我有一個快速的for循環中的命名範圍:VBA參考項目在for循環

Dim rng As Range 
For Each itm In Range("List") 
itm.Value = "fish" 
next itm 

工作正常。但如果我要改變第三行

itm.Offset(0,1).Value = "fish" 

然後有一個問題,因爲它不是一個範圍(我認爲)。有沒有辦法引用itm的範圍,或者設置for循環來引用單元格/範圍而不是itm的值。 (和爲什麼原來的工作?)

+0

爲我工作。問題是什麼? – CustodianOfCode

+0

嘗試'Range(「List」)。Cells' then ...有時你需要添加這個來表明你想要爲每個單元格去 –

+0

@dirk reichel修復它,謝謝。之後意識到有些人在工作,有些人不是這樣,這是別人最初的想法。但使用範圍(「列表」)似乎使它意識到你正在爲一個單元格,所以它現在的作品。 – PVar

回答

0

如果你明確聲明ITM的範圍

然後你for..each塊將每個單元返回的範圍

附:如果你只是想所有的單元設置爲fish那麼你可以使用這些線,並完全避免循環:

Range("List").Value = "fish" 

Range("List").Offset(0,1).Value = "fish"