Sub CopyData()
Application.ScreenUpdating = False
Dim desWS As Worksheet, i As Long, v1 As Variant, v2 As Variant, ws As Worksheet, dic As Object, lCol As Long
Set desWS = Sheets("Master")
v1 = desWS.Range("A2", desWS.Range("A" & Rows.Count).End(xlUp)).Value
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(v1)
If Not dic.Exists(v1(i, 1)) Then
dic.Add v1(i, 1), i + 1
End If
Next i
For Each ws In Sheets
If ws.Name <> "Master" Then
lCol = desWS.UsedRange.Columns.Count + 1
v2 = ws.Range("A2", ws.Range("A" & Rows.Count).End(xlUp)).Resize(, 2).Value
For i = 1 To UBound(v2, 1)
If dic.Exists(v2(i, 1)) Then
With desWS
.Cells(dic(v2(i, 1)), lCol) = v2(i, 2)
End With
End If
Next i
End If
Next ws
Application.ScreenUpdating = True
End Sub