I’m not sure where I got the following file (a quick Google didn’t reveal much) but it is incredibly useful. It takes “short” form data (ie, personal data and your responses to a number of questions, all stored on one row) and converts in to “long” form data (a row for each question answer and all personal details stored on each row). This is more useful for pivoting etc.
One thing to note is that, on a mac with Excel 2011, the VBA implementation still has the 65k row limit when working with VBA scripts. This means you may have to split the source data up into smaller chunks if you have potentially many rows after processing.