Re: Column Selection
Something like this will get you started, I do a lot of list and data parsing also, your best friend is "worksheetfunction.counta" 
sub move_over()
dim x as long
dim y as long
for y = 1 to 10 ' your columns to process
for x = 2 to worksheetfunction.counta(columns(y)) ' will grab all active rows IF there are no blank rows in your data
cells(x,1).copy destination:=sheets("sheet2").cells(x,1)
next x
next y
end sub
Display More
Alternately, you could use a resize
sub move_over()
dim x as long
x = worksheetfunction.counta(columns(1)) ' total used rows, if you have blanks in your data it wont get all of them
Range("A2").Select
Selection.Resize(x-1, 1).Select
Selection.copy destination:=sheets("sheet2").cells(2,1)
end sub
Display More
note I didnt test this, there might be a syntactical error(s) but the code works I've done these same things many times. You might have to mess around with the x-1 part of the resize, I think itll do what youll looking for but its easy to change. Just throw the selection.resize statement in its own sub, put real solid numbers in instead of variables, and play with how it changes the selected area.
edit: just saw that you might have empty rows in columns after the first one. Thats easy to fix:
sub move_over()
dim x as long
dim y as long
x = worksheetfunction.counta(columns(1)) ' total used rows for column A, if you have blanks in your data it wont get all of them. This value will be used for all columns in this sub
for y = 1 to 10 ' your columns
Cells(2, y).Select
Selection.Resize(x-1, 1).Select
Selection.copy destination:=sheets("sheet2").cells(2, y)
next y
end sub
Display More