You're welcome
I should have put some comments in the code... I think i must have been short on time for that one. But now you've asked... here's the code with lots of comments!
If you're looking to keep learning, you'll find lots of people happy to help you here at VBAX. Go through the posts and Knowledge base and see what you can pick up and most important, if you have any questions... just ask!
Good luck !
Sub Main()
'declare all the variables we want to use and the
'data type for each. This is important - it tells the compiler
'what everything is and how much memory to reserve for it
Dim rngSource As Range, rngHeadings As Range
Dim r As Long, s As Long
'set our "rngHeadings" varible by defining its sheet
'and cell range. We can now just refer to it directly
Set rngHeadings = Sheets("All").Range("A1:E1")
'ActiveWorkbook.Sheets.Count returns the number of worksheets in
'activeworkbook's sheets collection. We could also have used
'"For Each Sheet in ActiveWorkbook.Sheets... Next" to run our code
'within the loop on each sheet and exculded the first sheet ("All").
'this common method uses a counter variable (s) that is increacsed by 1
'for each loop, and in each loop, we use it to refer to the sheet index
'i.e. ActiveWorkbook.Sheets(s).Select
For s = 2 To ActiveWorkbook.Sheets.Count 'loop of 2 to number of sheets
ActiveWorkbook.Sheets(s).Select 'select sheet (index "s")
ActiveSheet.Cells.ClearContents 'clear the sheet
ActiveSheet.Rows(1).Select 'select row 1
rngHeadings.Copy 'copy the heading range we defined earlier
Selection.Insert Shift:=xlDown 'with the selection (row 1) insert the copied row
Next s 'increment s and start the loop over with new s value
'when s exceeds ActiveWorkbook.Sheets.Count, the code will continue down
'set our "rngSource" varible by defining its sheet and cell range.
'in this case we use the CurrentRegion method from cell A2 which expands
'the range to include all contiguous data (equivalent to selecting the cell
'top left in your data and pressing Crl+Shift+End)
Set rngSource = Sheets("All").Range("A2").CurrentRegion
'another incrementing For..Next loop, this time we use the variable r as
'the row index row index
For r = 3 To rngSource.Rows.Count 'loop 3 to number of row of data
rngSource.Rows(r).Copy 'copy source row "r"
Sheets(rngSource.Cells(r, 1).Value).Select 'select the sheet named in col 1 of row "r"
ActiveSheet.Rows(3).Select 'select row 3 of that sheet
Selection.Insert Shift:=xlDown 'insert copied row into that selection
Next r 'increment r to process next row
End Sub