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