Option Explicit
Sub test()
Dim myFld As String
Dim myName As String
Dim myBook As Workbook
myFld = CreateObject("WScript.Shell").SpecialFolders("DeskTop") & "\test\"
myName = Dir(myFld & "*.xls")
Do While myName <> ""
Set myBook = Workbooks.Open(Filename:=myFld & myName)
Call UpdateData(myBook)
myBook.Close True
myName = Dir()
Loop
End Sub
Private Sub UpdateData(wb As Workbook)
Dim xRow As Long, yCol As Long, k As Long, intPos As Variant
Dim ws As Worksheet, wsMaster As Worksheet
Dim dataCompare As String, destCompare As String
Dim destRange As Range, copyRange As Range
Application.ScreenUpdating = False
Set wsMaster = wb.Worksheets("Mastersheet")
With wsMaster
xRow = .Cells(.Rows.Count, "A").End(xlUp).Row
yCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For k = 2 To xRow
dataCompare = Trim(CStr(.Range("A" & k)))
For Each ws In wb.Worksheets
If ws.Name <> "master" Then
Set destRange = ws.Range("A2", ws.Cells(ws.Rows.Count, "A").End(xlUp))
intPos = Application.Match(dataCompare, destRange, 0)
If IsNumeric(intPos) Then
ws.Range("A" & intPos + 1).Resize(, yCol).Value = _
.Range("A" & k).Resize(, yCol).Value
End If
End If
Next
Next
End With
Application.ScreenUpdating = True
End Sub