Understood. Since you didn't provide an end result sample, I gave it my own interpretation.
The sheet with all the data is called Database.
The sheet with results is called Result.
What the code does:
The code will copy column A form the Database sheet and transpose it to the first row of the Result sheet.
Then the code will loop through the first row of the Result sheet. Each value will be used to filter the data on the Database sheet and paste back the filtered data (data from column C).
NOTE: For the filter to work the Database sheet needs a header, so create one.
NOTE2: The code expects the Result sheet to be there, so create it.
NOTE3: The sheet names can easily be adjusted by looking at row 5 and 6 of the code.
And here is the code:
Dim y As Integer
Dim Sh1, Sh2 As Worksheet
Set Sh1 = Sheets("Database")
Set Sh2 = Sheets("Result")
y = 1
Range("A2:A" & Range("A1").End(xlDown).Row).Copy
Sh1.Range("A1:C1").AutoFilter Field:=2, Criteria1:=Sh2.Cells(1, y).Value
Sh1.Range("C2:C" & Range("C1").End(xlDown).Row).Copy Sh2.Cells(2, y)
y = y + 1
Loop Until Cells(1, y) = vbNullString