|
- Sub Macro1()
- Dim arr, brr, crr, w, d, d2, i%, j&
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- With Sheets("数据源")
- arr = .[a1].CurrentRegion
- .[a1].CurrentRegion.Sort .[d2]
- brr = .[a1].CurrentRegion
- .[a1].CurrentRegion = arr
- End With
- ReDim crr(1 To UBound(brr), 1 To 12)
- w = Array("补料", "生产中", "暂缓")
- For Each c In [g1:l1]
- d(c.Value) = c.Column
- Next
- For i = 0 To UBound(w)
- For j = 2 To UBound(brr)
- If w(i) = brr(j, 5) Then
- zf = brr(j, 1) & "," & brr(j, 2) & "," & brr(j, 3)
- n = d(brr(j, 6))
- If Not d2.exists(zf) Then
- s = s + 1
- d2(zf) = s
- crr(s, 1) = s
- crr(s, 2) = brr(j, 1)
- crr(s, 3) = brr(j, 2)
- crr(s, 4) = brr(j, 3)
- crr(s, 5) = brr(j, 4)
- crr(s, 6) = brr(j, 5)
- crr(s, n) = brr(j, 7)
- Else
- s2 = d2(zf)
- crr(s2, n) = crr(s2, n) + brr(j, 7)
- End If
- End If
- Next
- Next
- Range("a2").Resize(s, UBound(crr, 2)) = crr
- End Sub
复制代码 |
评分
-
查看全部评分
|