Sub x() Dim a, arr, i%, j% a = Sheet1.UsedRange ReDim arr(1 To UBound(a), 1 To 4) For i = 1 To UBound(a) If a(i, 3) >= 60 Or AscW(a(i, 3)) > 57 Then m = m + 1 For j = 1 To 4 arr(m, j) = a(i, j) Next End If Next Sheet2.[a1].Resize(m, 4) = arr End Sub
Sub MyFilter() Dim ArrYS, ArrJG, i&, j&, K& ArrYS = Sheet1.Range("A1:D" & Sheet1.Range("A65536").End(xlUp).Row) ReDim ArrJG(1 To 4, 0 To 0) For j = 1 To 4 ArrJG(j, 0) = ArrYS(1, j) Next j K = 0 For i = 2 To UBound(ArrYS, 1) If ArrYS(i, 3) >= 60 Then K = K + 1 ReDim Preserve ArrJG(1 To 4, 0 To K) For j = 1 To 4 ArrJG(j, K) = ArrYS(i, j) Next j End If Next i Sheet2.Range("A1").Resize(UBound(ArrJG, 2) + 1, 4) = Application.Transpose(ArrJG) End Sub
Sub x() Dim a, arr, i%, j% a = Sheet1.UsedRange ReDim arr(1 To UBound(a), 1 To 4) For i = 1 To UBound(a) If a(i, 3) >= 60 Or AscW(a(i, 3)) > 57 Then m = m + 1 For j = 1 To 4 arr(m, j) = a(i, j) Next End If Next Sheet2.[a1].Resize(m, 4) = arr End Sub