I have a spreadsheet that is forever growing and there are around 50 or so columns. Some of the reports that I have to make only need to contain certain columns. The problem is i cant do a range because we are always adding columns but the columns are defined by a header row (row 1).

Is is possible to write a vba script that will only copy the columns I need and copy them to a new worksheet via their column name and delete all other columns?

For example...if i wanted to keep columns "State, City, Region, Market" and delete all other columns and then paste the data to a new worksheet what would be the best approach.

Thanks for any help or suggestions.