急求VBA大神!如何用VBA,将表中符合条件的数据所在的行筛选出来

2024-11-29 11:21:58
推荐回答(2个)
回答1:

Sub VBA()
On Error Resume Next            '主要过滤掉值为0的情况
T = Sheets(1).UsedRange.Rows.Count
arr1 = Sheets(1).Range("a1:m" & T)
Dim arr2
ReDim arr2(1 To T - 1, 1 To 15)
For n = 1 To UBound(arr2)
    For i = 1 To 13
        arr2(n, i) = (arr1(n + 1, i) - arr1(n, i)) / arr1(n, i)
    Next
Next
Sheets(2).[a1:m1].Resize(UBound(arr2)) = arr2
TT = Sheets(2).UsedRange.Rows.Count
For i = 1 To TT
    Sheets(2).Range("o" & i) = Abs(Application.WorksheetFunction.Sum(Sheets(2).Range("a" & i & ":m" & i)))
    TTT = Sheets(3).UsedRange.Rows.Count
    If Sheets(2).Range("o" & i) < 0.3 Then
        Sheets(3).Range("a" & TTT + 1 & ":m" & TTT + 1) = Sheets(1).Range("a" & TTT + 1 & ":m" & TTT + 1)
        Sheets(3).Range("a" & TTT + 2 & ":o" & TTT + 2) = Sheets(2).Range("a" & TTT + 2 & ":o" & TTT + 2)
    End If
Next
End Sub

回答2:

有规则VBA肯定能完成的。。。。