View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Kieran[_55_] Kieran[_55_] is offline
external usenet poster
 
Posts: 3
Default Loop through range issue

To all:

The mist clears . . . . .

Set rRange = Range("A1:B20").Columns(1)

rRange is a monlithic block containing one cell - Negative outcome -
not good!

Set rRange = Range("A1:B20").Columns(1).Cells

rRange contains all cells as desired.

Yet another case of Pilot Error!

Many Thanks


Jean-Yves wrote:
Hi Kieran
Interesting
For resizing a range use "resize" instead of using the columns property.
Set rRange = Range("A1:B20").Resize(, 1)

For the why part, could a better person answer this ?
Regards
Jean-Yves


"Kieran" wrote in message
oups.com...
Greetings all -

My problem is one of understanding or lack of it! :

I wish to loop through the first column of a range. I set a range
object to equal the first column of my range. I then attempt to loop
through each cell in my now - single column range. Yet for reasons I
don't understand my Cell range is now the same as rRange and the
process fails

Sub xx()
Dim Cell As Range
Dim rRange As Range

Set rRange = Range("A1:B20").Columns(1)
For Each Cell In rRange
Debug.Print Cell.Address
Next
End Sub

However if I do the following it works perfectly

Sub x()
Dim Cell As Range
Dim rRange As Range

Set rRange = Range("A1:B20").Columns(1)
For Each Cell In Range(rRange.Address)
Debug.Print Cell.Address
Next
End Sub

Any thoughts would be appreciated - note that I am keen to understand
the issue not solve it another way

Cheers

Kieran