Sorry for the ambiguous title.. Not sure how else to word it.
Using Excel for Office 365 MSO 64-bit.

So I have a spreadsheet with over 130,000 employees and I have to extract about 50+ columns of data using VLOOKUP because I have to make it fit a specific arrangement in the new spreadsheet.
I have set up the VLOOKUP formula for all the different columns, but I cannot process all 130,000 in one go using flash fill--Excel will run for about half an hour and stopped responding due to a combination of lack of processing power and large amount of data.

My plan is to break it down to a manageable size of 10,000 employee data per spreadsheet.
Instead of going through the list manually everytime, I am wondering if there is an easier way to extract employee ID from row 2 to 10000, 10001 to 20000, 20001 to 30000, and so on.

My current plan is to make a VBA macro that:
  1. Selects employee ID from row 2 to 10,000
  2. Copy paste them into the new spreadsheet
  3. Apply the VLOOKUP for the first set of 10,000 employees
  4. Copy/paste(as value) to replace all the VLOOKUP formulas in the field with actual value that was returned from VLOOKUP
  5. Save the document
  6. Repeat the same process for the next set of 10,000 employees till all 130,000 are done

While I do that, I am just wondering if there is other alternatives that I can consider.
Thanks.