One macro to rule them all

Sub Filter_Data()
Dim ws1 As Worksheet:   Set ws1 = Sheets("Sheet1")
Dim ws2 As Worksheet:   Set ws2 = Sheets("Sheet2")
Dim icell As Range

Application.ScreenUpdating = False

For Each icell In ws1.Range("C2:C" & ws1.Range("C" & Rows.Count).End(xlUp).Row)
    If icell.Value = "PG" Then
        Union(icell.Offset(0, -2), icell.Offset(0, 2)).Copy Destination:=ws2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    End If
Next icell

ws2.Sort.SortFields.Clear
ws2.Sort.SortFields.Add Key:=Range("B2:B" & ws2.Range("B" & Rows.Count).End(xlUp).Row), _
    SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ws2.Sort
    .SetRange Range("A1:B" & ws2.Range("B" & Rows.Count).End(xlUp).Row)
    .Header = xlYes
    .Apply
End With

Application.ScreenUpdating = True

End Sub
PS. Send me a pm if you want to know what is going on in the macro. You seemed to indicate you wanted macro knowledge