hi Arthur,
Yay! feeling like a magician is something we all like 
Unfortunately, I only have Excel 2003 so I can't open your file. Also, I didn't explain how to use my code (or include the concatenation section for column F)). So here's a modified version, to let me feel like a magician
...
This version relies on you selecting the range C?:F? before you run the macro.
This can be modified to run for all rows of your data (rather than a selection), assuming your data is continuous with no blank rows, by changing it to:
(also contains some additional coding)
Right, that's my magic trick (hopefully;-))
Now to answer your questions & help you learn:
Now I need to try to figure out how to make the cells referential and to add a loop.
Define the current (for want of a better word) cell at the start of the loop (I used a "for each" statement), & then use a "with" statement to link the subsequent references to the object/range etc by removing the initial expression & beginning the them with a dot. For example:
I don't know why this inserting the values into Cell F1. I think I am going to put a DoWhileNot isEmpt(Activecell.offset(0,1)), loop.
This is inserting the info into cell F1 because of:
I may be wrong but I think that "dowhilenot" code can be slower than loops using "for i = 1 to lastrow" or "for each cell in rangetocheck". My reasoning is that the latter codes only perform a single calculation whereas the former performs a calculation each time it loops.
When using ActiveCell and Offset selections, how do you define where the selection begins?
Rather than using
try using either
or
to define where it starts.
If I want it to start and return values in cell F1 and down until there is an empty cell (in col c), how do write that?
Check out the use of "Lastrow" in my above code. This chooses the last row of column C & then goes upwards until it finds a value & uses that row number.
hth
Rob
Bookmarks