I can think of a few ways to do this and none of them involves any macros. The simplest involves creating a column for numbering the records. This will only work if all records have the same number of data field rows. Set a "1" for every field in the first record, and then "A1 + 1" for the first field of the second record and copy to the bottom. Copy the entire column and Paste Values. Then sort by the second column (your original column A) and do wholesale deletions of the unwanted fields - then resort by Record Number and Field. The next simplest involves using text to column (with a ":" delimiter) to separate the Field Names from the Field Data. Set up a short table in another sheet that will contain the field names that you want to keep. Back on the data sheet - use a vlookup (set for exact, not range lookup) to compare the Field Name on the data sheet to the table. If it's not found it will show as N/A. Create column headings for "LOOKUP", "FIELD NAME" and "DATA". Set a data filter on the data sheet and filter to show all instances of N/A in the LOOKUP column. *****SAVE THE FILE****** Highlight the first row (the one with the column headings) and FORMAT ROW HIDE. Highlight the ENTIRE SHEET (only the rows with N/A will be showing) Then set for VISIBLE CELLS ONLY (Edit, goto, special, visible cells only) - then cross you fingers and EDIT DELETE. This will delete all the rows you want. Then highlight the entire sheet and FORMAT ROW UNHIDE. You can certainly practice on a subset of your data to make sure it works. Good luck!