If some body could help with copying a range of rows where the rows chosen are based on the value in one cell, highlight the row and copy it. Do this for all rows containing the same value in a call. Then more onto the next value an append to the bottom of the first list:

Below is my attempt at explaining what I wish to achieve - hopefully the above will help explain more my dilema.

I have looked around for this but not quite found what I want. i thought it would be simple and probably is. I receive a data dump with thousands of rows of data and 18 columns. Based on the value of column P "Contract" I want to copy entire rows into a new single worksheet "workingdata". Not all the data will go into the workingdata worksheet.

The contract numbers are c1234, c1235, c2345 etc.

What i am after achieving is copying and sorting, so copy all the rows of data where contract number is c1234, in workingdata, then directly below it copy all rows where contract is c1235 and so on.

I thought I could select the range P:P andsort but to no avail. Sheets("Data Dump").Select Columns("P:P").Select If Selection.Value = "C1234" Then Selection.EntireRow.copy

I know I should post what i have tried, but it would be a pathetic, for some reason I just can't seem to get my head round this one