Now, i want to transfer the data from the multiple (same type) workbooks into 1 worksheet. Before this, i had done the User Interface which can extract the means data from the 1 source workbooks into my 1 sheet. The selection of the source workbook which depends on the user click the file path in listbox. In the Sheet, i had create the form in the sheet to display the means data and show the selected file path in the range. The vba as shown below:
[VBA]' Show the file path into the range in worksheet
Private Sub ListBox1_Click()
Sheet1.Range("C15").Value = Me.ListBox1.List(Me.ListBox1.ListIndex)
End Sub

Private Sub cmdResult_Click()
Dim Tgt As Worksheet
Dim Source As Range
Dim wbSource As Workbook
Dim cel As Range
Dim Rng As Range
Dim c As Range

Application.ScreenUpdating = False
Set Tgt = ActiveSheet
Set wbSource = Workbooks.Open(Filename:=Me.ListBox1.List(Me.ListBox1.ListIndex))
Set Source = wbSource.Sheets(1).Columns(1)
With Tgt
.Activate
'clear old data
Range(.Cells(8, 2), .Cells(12, 5)).ClearContents

' Change the name to obey the data structure
If Range("a8").Value = "001" Then
Range("a8").Value = "Staff 001"
End If
If Range("a9").Value = "002" Then
Range("a9").Value = "Staff 002"
End If
If Range("a10").Value = "003" Then
Range("a10").Value = "Staff 003"
End If
If Range("a11").Value = "004" Then
Range("a11").Value = "Staff 004"
End If
If Range("a12").Value = "005" Then
Range("a12").Value = "Staff 005"
End If

'Loop through names in column A
For Each cel In Range("A8:A12")
If Not cel = "" Then
Set c = Source.Range("A3")
Set Rng = Nothing
Do While c.Row < Source.Range("A" & Source.Rows.Count).End(xlUp).Row
If c = cel Then
If Rng Is Nothing Then Set Rng = c.Offset(1)
Set Rng = Union(Rng, Range(c.Offset(1), c.Offset(1).End(xlDown)))
Set c = c.Offset(1).End(xlDown).Offset(1)
Else
Set c = c.Offset(1)
End If
Loop
cel.Offset(, 1) = Application.Average(Rng.Offset(, 1))
cel.Offset(, 2) = Application.Average(Rng.Offset(, 2))
cel.Offset(, 3) = Application.Average(Rng.Offset(, 3))
cel.Offset(, 4) = Application.Average(Rng.Offset(, 4))
End If
Next
End With
' Refill the original name into range
Range("a8").Value = "001"
Range("a9").Value = "002"
Range("a10").Value = "003"
Range("a11").Value = "004"
Range("a12").Value = "005"

wbSource.Close False
Application.ScreenUpdating = True
End Sub[/VBA]
But now, my boss said that it should be transfer the data from the multiple source workbooks into 1 sheet. It means 1 form to display data from 1 source workbooks. I create the many same type form into 1 worksheet and it has the space row between the 2 forms. He want the result as show below.

And I attachd my workbooks here.
Attachment 6289
Thanks for all help!!