Option Explicit
Sub Loc()
Application.ScreenUpdating = False
Dim a, b(1 To 65000, 1 To 15), lR, Sh As Worksheet, endR As Long, i As Long, j As Long, k As Long
Dim ii As Long, Data As Variant
Sheets("LocKH").Range("b5:q5000").ClearContents
endR = Sheets("Ma").Range("B" & Rows.Count).End(3).Row + 1
If endR < 4 Then Exit Sub
Data = Sheets("Ma").Range("B3:B" & endR).Value '
endR = UBound(Data) - 1
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "LocKH" And Sh.Name <> "Ma" Then '
lR = Sh.Range("a" & Rows.Count).End(3).Row
a = Sh.Range("A2:N" & lR).Value
For i = 1 To UBound(a)
For ii = 1 To endR
If a(i, 1) = Data(ii, 1) Then
k = k + 1
b(k, 1) = Sh.Name
For j = 2 To 15
b(k, j) = a(i, j - 1)
Next j
End If
Next ii
Next i
End If
Next
If k > 0 Then
Sheets("LocKH").Range("B5:P5").Resize(k).Value = b
End If
Application.ScreenUpdating = True
End Sub