This should do what you want... sorry for the delay - took a long weekend 
Option Explicit
Public wkbkRM As Workbook
Public wsRM As Worksheet
Sub LoopThroughPLFiles()
Dim strFName As String
Dim strPath As String
Dim strWFile As String
Dim wkbkWF As Workbook
Application.DisplayAlerts = False
strPath = ThisWorkbook.Path & "\"
Set wkbkRM = Workbooks.Open(strPath & "RM File.xlsx")
Set wsRM = wkbkRM.Worksheets(1)
strWFile = Dir(strPath & "*.xlsx")
Do While strWFile <> ""
If strWFile Like "PL*" Then
Set wkbkWF = Workbooks.Open(strPath & strWFile)
ProcessPLFile wkbkWF
wkbkWF.Save
wkbkWF.Close
End If
strWFile = Dir()
Loop
wkbkRM.Close False
End Sub
Sub ProcessPLFile(wkbkWB As Workbook)
Dim lngR As Long
Dim wsW As Worksheet
Dim rngF As Range
Set wsW = wkbkWB.Worksheets(1)
For lngR = wsW.Cells(wsW.Rows.Count, "I").End(xlUp).Row To 2 Step -1
Set rngF = wsRM.Range("D:D").Find(wsW.Cells(lngR, "I"))
If Not rngF Is Nothing Then
If wsRM.Cells(lngR, "F").Value <> "" Then
wsW.Rows(lngR + 1).EntireRow.Insert
wsW.Cells(lngR + 1, "H").Value = wsW.Cells(lngR, "I").Value
wsW.Cells(lngR + 1, "I").Value = wsRM.Cells(rngF.Row, "F").Value
wsW.Cells(lngR + 1, "K").Value = wsRM.Cells(rngF.Row, "G").Value
wsW.Cells(lngR + 1, "M").Value = wsRM.Cells(rngF.Row, "I").Value
wsW.Cells(lngR + 1, "N").Value = wsRM.Cells(rngF.Row, "E").Value
wsW.Cells(lngR, "M").Value = wsRM.Cells(rngF.Row, "I").Value
wsW.Cells(lngR, "N").Value = wsRM.Cells(rngF.Row, "E").Value
End If
End If Next lngR
End Sub
Bookmarks