比方說,我有以下代碼時:遍歷的單元格區域中的每個單元賦予了Range對象
Sub TestRangeLoop()
Dim rng As Range
Set rng = Range("A1:A6")
''//Insert code to loop through rng here
End Sub
我希望能夠通過Range
對象爲規定的各單元的集合迭代rng
。從概念上講,我想做到這一點,像這樣:
For Each rngCell As Range in rng
''//Do something with rngCell
Next
我知道我可以通過解析rng.Address
和手動構建Range
對象解決這個問題,但我希望有,不涉及一個更直接的方式字符串解析。
這個工作完美,但我爲此感到詫異,因爲'Cells'只是一個'Range'對象。事實上,我從'For Each'行的'rRng'中刪除了'.Cells',它仍然有效。 'Range'如何讓它看起來像是'Range'的集合?非常感謝你的幫助! – 2010-10-06 18:25:19
http://www.dailydoseofexcel.com/archives/2004/07/07/the-strange-object/ Cells屬性是此上下文中的默認屬性,所以這就是沒有它的原因。在其他上下文中,Value屬性是默認屬性。所有Range對象都是包含Range對象的集合對象 - 我想是無限的。範圍是一個絕對奇怪的對象,並且每次都打破對象/對象收集範例。但在大多數情況下,它只是起作用。 :) – 2010-10-06 19:46:50
感謝您的額外見解。我希望在大約4年前,當我開始進行VBA編程時,我已經瞭解到「這隻適用於」Range .-)。 – 2010-10-07 01:21:37