'create variables for use in the sub
Dim sh1 As Worksheet, sh2 As Worksheet, f As Range, i As Long
'Variable 'sh1' is to denote worksheet named "Sheet1"
Set sh1 = Sheets("Sheet1")
'Variable 'sh2' is to denote worksheet named "Sheet2"
Set sh2 = Sheets("Sheet2")
'Loop through every value in Column 'A' of sh2 (sheet2) starting at row 2
For i = 2 To sh2.Range("A" & Rows.Count).End(xlUp).Row
'if the value in column A of sh2 is found in the first row of sh1 then set the 'f' variable to that cell
Set f = sh1.Rows(1).Find(sh2.Cells(i, "A"), , xlValues, xlWhole)
'if 'f' is set, copy it and paste it to sheet 3. If 'f' isn't set then it nothing was found
If Not f Is Nothing Then sh1.Columns(f.Column).Copy Sheets("Sheet3").Cells(1, i - 1)
Next