|
- Sub 提取2()
- Dim arr, i, j, k As Long, l
- Dim arrDic(1 To 3, 1 To 3), arrCon
- For i = 1 To 3
- Set arrDic(i, 1) = CreateObject("scripting.dictionary")
- Next
- arrDic(1, 2) = 1
- arrDic(1, 3) = 5
- arrDic(2, 2) = 0
- arrDic(2, 3) = 3
- arrDic(3, 2) = 0
- arrDic(3, 3) = 2
- arrCon = Array(3, 6)
- Dim arrRst() As String
- arr = Range("f13").CurrentRegion
- For i = 1 To UBound(arr)
- For j = 1 To UBound(arr, 2)
- Select Case j
- Case 1, 4, 7, 10, 13
- If arr(i, j) <> "" Then arrDic(1, 1)(arr(i, j)) = arrDic(1, 1)(arr(i, j)) + 1
- Case 2, 5, 8, 11, 14
- If arr(i, j) <> "" Then arrDic(2, 1)(arr(i, j)) = arrDic(2, 1)(arr(i, j)) + 1
- Case 3, 6, 9, 12, 15
- If arr(i, j) <> "" Then arrDic(3, 1)(arr(i, j)) = arrDic(3, 1)(arr(i, j)) + 1
- End Select
- Next
- Next
- For i = 1 To UBound(arrDic)
- For Each j In arrDic(i, 1).keys
- l = Val(arrDic(i, 1)(j))
- If l > arrDic(i, 2) And l < arrDic(i, 3) Then
- k = k + 1
- ReDim Preserve arrRst(1 To 1, 1 To k)
- arrRst(1, k) = "'" & j
- End If
- If l > arrCon(0) And l < arrCon(1) Then
- k = k + 1
- ReDim Preserve arrRst(1 To 1, 1 To k)
- arrRst(1, k) = "'" & j
- End If
- Next
- Next
- Range("b1").Resize(k) = Application.WorksheetFunction.Transpose(arrRst)
- End Sub
复制代码 |
|