Looping in VB with cell ranges

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a function that brings in four different cell ranges:
ie: Total(AccountRange As Range, DateRange As Range, etc...)

Within the VB function I have a For/Next Loop as follows:
ie: For Each cell in AccountRange
"multiple if statements"
Next cell

I want to increment the rows in the other cell ranges during the looping
process. When the AccountRange row increases during the "Next cell" call
then I want the other ranges to follow suit.

By the way what actually happens during the looping process for a range of
cells? If the range is 2 columns by 4 rows does the "Next cell" call go down
the rows then jump to the top of the 2nd column and again proceed down the
rows??
 
Freeman said:
I have a function that brings in four different cell ranges:
ie: Total(AccountRange As Range, DateRange As Range, etc...)

Within the VB function I have a For/Next Loop as follows:
ie: For Each cell in AccountRange
"multiple if statements"
Next cell

I want to increment the rows in the other cell ranges during the looping
process. When the AccountRange row increases during the "Next cell" call
then I want the other ranges to follow suit.

What exactly do you mean? You can get the row by simply using

cell.Row

but I am not clear as to what you mane by increment the rows in the other
cell ranges.
By the way what actually happens during the looping process for a range of
cells? If the range is 2 columns by 4 rows does the "Next cell" call go down
the rows then jump to the top of the 2nd column and again proceed down the
rows??

No, other way. It goes across the columns, then down to the first column of
the next row.
 
BTW, you can force it down the rows, then next column with

For Each cell in Application.Transpose(rng)

but you are not working with a range object now, but an array of values.

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)
 
Back
Top