Try this:

Option Explicit


Sub FilterData()
    
    Dim OriginalData() As Variant
    Dim DataRange As Range
    Dim ws As Worksheet
    Dim x As Long, y As Long
    Dim FilteredData() As Variant
    Dim Counter As Long
    
    Set ws = Sheet1 ' change this to your sheet's codename or better just use that code name in the next step
    Set DataRange = ws.Range("A2", ws.Range("A1").End(xlDown).End(xlToRight))
    
    OriginalData = DataRange
    
    Counter = 1
    
    For x = 1 To UBound(OriginalData, 1)
        If OriginalData(x, 1) < OriginalData(x, 4) Then
            
            ReDim Preserve FilteredData(1 To UBound(OriginalData, 2), 1 To Counter)
            
            For y = 1 To UBound(FilteredData, 1)
                FilteredData(y, Counter) = OriginalData(x, y)
            Next y
            
            Counter = Counter + 1
        End If
    Next x
    
    ws.Range("G2").Resize(UBound(FilteredData, 2), UBound(FilteredData, 1)).Value = TransposeArray(FilteredData())
    
End Sub


Private Function TransposeArray(v() As Variant) As Variant
    
    Dim Dummy() As Variant
    Dim x As Long, y As Long
    
    ReDim Dummy(1 To UBound(v, 2), 1 To UBound(v, 1))
    
    For x = 1 To UBound(v, 2)
        For y = 1 To UBound(v, 1)
            Dummy(x, y) = v(y, x)
        Next y
    Next x
    
    TransposeArray = Dummy()
    
End Function