Hey everyone, I'm a new user here and glad I found this forum. Thanks in advance for your time and help.

I'm working on a worksheet that contains a large amount of data about people. Currently, I have one row dedicated per person with their demographics and survey data in separate columns. The data is such that a few columns are dedicated to demographics (name, age, etc.) and the remaining columns contain information organized by time (favoritecolor1,time1,date1, favoritecolor2,time2,date2, favoritecolor3,time3,date3, etc.). I want to convert the data so it shows multiple rows per person, but they're separated by time. row 1 would be: "john doe, 31, favoritecolor1,time1,date1", row 2 would be "john doe, 31, favoritecolor2,time2,date2", row 3 would be "john doe, 31, favoritecolor3,time3,date3", and so on and so forth. I would do it manually but the issue is that I have about 90 columns of survey data per person, split into 30 or so different time points.

In case it's still not clear, let me explain in terms of numbers. Now, for example, I have 5 rows and 10 columns. Columns 1-4 are static (information doesn't change) while columns 5 -10 are repeated trials taken at different time points (every 2 columns=1 time point of data) so 3 different time points with three pieces of information taken at each time. I want to have 15 rows and 6 columns (3 rows per person representing the different time points of data, columns 1-4 static and columns 5-6 variable).

Any help is appreciated. I don't have any experience with VB or macros so if the answer lies therein, please explain steps required or point me in that direction with any links you may have. If my explanation is bad, please let me know and I'll post tables. Thanks!!!