|
本帖最后由 mate88 于 2017-10-28 11:41 编辑
用VBA做复杂的筛选。
这样行不行,你试一下。 - Sub aaa()
- Dim arr, brr, i&, j&, ar1, ar2, ar3, s1$, s2$, s3$, r&, n&
- arr = [f1].CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
- ar1 = [f1000].Resize(10, UBound(arr, 2))
- ar2 = [f1011].Resize(10, UBound(arr, 2))
- ar3 = [f1022].Resize(10, UBound(arr, 2))
- For j = 1 To UBound(arr, 2)
- r = 0
- s1 = Join(Application.Transpose(Application.Index(ar1, , j)), "")
- s2 = Join(Application.Transpose(Application.Index(ar2, , j)), "")
- s3 = Join(Application.Transpose(Application.Index(ar3, , j)), "")
- For i = 1 To UBound(arr)
- If arr(i, j) = "" Then Exit For
- If InStr(s1, Left(arr(i, j), 1)) = 0 And InStr(s2, Mid(arr(i, j), 2, 1)) = 0 And InStr(s3, Right(arr(i, j), 1)) = 0 Then
- r = r + 1
- If n < r Then n = r
- brr(r, j) = arr(i, j)
- End If
- Next i
- Next j
- [f1035].CurrentRegion.ClearContents
- [f1035].Resize(n, UBound(brr, 2)) = brr
- End Sub
复制代码
|
|