- 帖子
- 23
- 主題
- 0
- 精華
- 0
- 積分
- 31
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- 20xx
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2012-8-11
- 最後登錄
- 2012-8-28
|
回復 1# lalalada - Sub 抓取日期交集()
- Dim Ay(), Ty()
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- ar = Range("A1").CurrentRegion.Value
- ReDim Preserve Ty(0)
- Ty(0) = "Date"
- For j = 1 To UBound(ar, 2) Step 2
- k = k + 1
- ReDim Preserve Ty(k)
- Ty(k) = ar(3, j + 1)
- For i = 5 To UBound(ar, 1)
- If IsDate(ar(i, j)) Then
- d(ar(i, j)) = d(ar(i, j)) + 1
- If IsEmpty(d1(ar(i, j))) Then
- ReDim Preserve Ay(0)
- Ay(0) = ar(i, j + 1)
- d1(ar(i, j)) = Ay
- Else
- Ay = d1(ar(i, j))
- ReDim Preserve Ay(UBound(Ay) + 1)
- Ay(UBound(Ay)) = ar(i, j + 1)
- d1(ar(i, j)) = Ay
- End If
- Erase Ay
- End If
- Next
- Next
- For Each ky In d.keys
- If d(ky) <> k Then d1.Remove ky
- Next
- Cells(3, k * 2 + 3).Resize(, k + 1) = Ty
- Cells(4, k * 2 + 3).Resize(d1.Count, 1) = Application.Transpose(d1.keys)
- Cells(4, k * 2 + 4).Resize(d1.Count, k) = Application.Transpose(Application.Transpose(d1.items))
- End Sub
複製代碼 |
|