|
发表于 2013-12-3 18:20
|
显示全部楼层
本楼为最佳答案
附件请测试,结果输出在C列- Private Sub CommandButton1_Click()
- Dim arr, arr1, arr2, i&, j&, k&, l&, m&
- arr = Range("a3:a" & [a65536].End(3).Row)
- arr1 = Range(Cells(2, "e"), Cells(4, [iv2].End(1).Column))
- ReDim arr2(1 To UBound(arr) * UBound(arr1, 2))
- For j = 1 To UBound(arr1, 2)
- For k = 1 To UBound(arr)
- For l = 1 To Len(arr(k, 1))
- If InStr(arr1(3, j), Mid(arr(k, 1), l, 1)) Then Exit For
- Next l
- If arr1(1, j) = 0 Then If l = Len(arr(k, 1)) + 1 Then m = m + 1: arr2(m) = arr(k, 1)
- If arr1(1, j) = 1 Then If l <= Len(arr(k, 1)) Then m = m + 1: arr2(m) = arr(k, 1)
- Next k
- Next j
- [c1].Resize(UBound(arr2)) = Application.Transpose(arr2)
- End Sub
复制代码 |
|