|
发表于 2016-3-15 14:39
|
显示全部楼层
本楼为最佳答案
- Sub 提取数据()
- Set d = CreateObject("scripting.dictionary")
- Dim brr(1 To 1000, 1 To 6)
- With Sheets("每日出仓")
- r = .[c65536].End(3).Row
- arr = .Range("a1:j" & r)
- End With
- For i = 3 To UBound(arr)
- If Len(arr(i, 9)) = 0 And arr(i, 6) > 0 Then
- x = arr(i, 3)
- If Not d.exists(x) Then
- n = n + 1
- d(x) = n
- brr(n, 1) = n
- brr(n, 2) = x
- End If
- brr(d(x), 4) = brr(d(x), 4) + arr(i, 6)
- End If
- Next
-
- With Sheets("每日进仓")
- r = .[e65536].End(3).Row
- arr = .Range("a1:k" & r)
- End With
- For i = 3 To UBound(arr)
- If Len(arr(i, 11)) = 0 And arr(i, 8) > 0 Then
- x = arr(i, 5)
- If Not d.exists(x) Then
- n = n + 1
- d(x) = n
- brr(n, 1) = n
- brr(n, 2) = x
- End If
- brr(d(x), 3) = brr(d(x), 3) + arr(i, 8)
- End If
- Next
-
- With Sheets("上月库存")
- r = .[b65536].End(3).Row
- arr = .Range("a1:c" & r)
- End With
- For i = 3 To UBound(arr)
- x = arr(i, 2)
- If d(x) > 0 Then brr(d(x), 5) = arr(i, 3)
- Next
-
- [a3:f1000] = ""
- [a3].Resize(n, 6) = brr
- [f3].Resize(n, 1).Formula = "=rc[-3]+rc[-1]-rc[-2]"
- End Sub
复制代码 |
|