View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Frank Kabel Frank Kabel is offline
external usenet poster
 
Posts: 3,885
Default Difficult concatenate No 2

Hi
try the following (will put the concatenated value in column AB for
each row

sub foo()
dim rng as range
dim row_index as long
dim col_index as integer
dim ret_str

set rng = range ("A3:AA800")
for row_index = rng.row to rng.rows.count + rng.row - 1
ret_str = ""
for col_index = rng.column to rng.columns.count + rng.column - 1
if cells(1,col_index).value = "X" then
ret_str = ret_str & cells(row_index,col_index).value
end if
next
cells(row_index,"AB").value = ret_str
next
end sub



--
Regards
Frank Kabel
Frankfurt, Germany

After the first concatenate i want to concatenate all the rows under
the checked boxes!

Be more specific

i have 20 cells in 800 rows

A B C D .... AA <-- columns
X X X ... <-- cells used as check box
Z Z Z ... Z <-- cells used as headers
1 3 4 5 ... N <-- cells with values

THIS =concatenate("A3";"B3";"D3") happens using the following code
written by
Frank Kabel
------------------------------------

sub foo()
dim rng as range
dim cell as range
dim ret_str
set rng = range ("A3:AA3")
for each cell in rng
if cell.offset(-2,0).value = "X" then
ret_str = ret_str & cell.value
end if
next
range("A4").value = ret_str
end sub

----------------------------------------------------
Now , I want this to happen for all the next 800 rows

=concatenate("A4";"B4";"D4")
=concatenate("A5";"B5";"D5")
=concatenate("A6";"B5";"D6")