こういうことでしょうか。参考にしてください。
(不明点あれば、具体質問してください。)
Sub test()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim lastRow As Long
Dim i As Long
Dim j As Long
Application.ScreenUpdating = False
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
lastRow = sh1.Cells(Rows.Count, "A").End(xlUp).Row
j = 1
For i = 5 To lastRow
If check(sh1.Cells(i, "L").Resize(, 4)) Then
sh1.Rows(i).Copy
sh2.Cells(j, 1).PasteSpecial Paste:=xlPasteValues
sh2.Cells(j, 1).PasteSpecial Paste:=xlPasteFormats
j = j + 1
End If
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Function check(rng As Range) As Boolean
Dim r As Range
For Each r In rng
If r.DisplayFormat.Interior.Color = vbYellow Then
check = True
Exit Function
End If
Next
End Function
L〜O列の数式が自行以外を参照している可能性もあるので、
値と書式をコピー貼り付けしています。