我还没有看到任何类似的问题。提前感谢您的帮助!
我有这两列:
最终产品 - 子组件
A - 1
B - 1
C - 1
D - 1
A - 2
C - 2
B - 3
C - 3
A - 4
C - 4
D - 4
A - 5
B - 5
最终产品A由子组件1,2,4和5制成
B由子组件1,3和5制成
C由子组件1,2和4制成
D由子组件1和4制成
我正在寻找的是vba或数据透视表中的算法,以这种方式优化最终产量:
1次重复4次
2次重复2次
3次重复2次
4次重复3次
5次重复2次。
首先应该制作A,因为它有更常见的组件。然后应该制作B,因为与A相比只缺少1个组件。然后是C,因为只有一个组件需要更换,最后一个D因为有与C相同的两个组件。
我知道这根本不容易......谢谢!
答案 0 :(得分:0)
试试此代码
Sub Test()
Dim d As Object
Dim v As Variant
Dim m As Long
Dim r As Long
Dim i As Long
m = Range("A" & Rows.Count).End(xlUp).Row
v = Range("A1:B" & m).Value
Set d = CreateObject("Scripting.Dictionary")
For r = 1 To m
If d.Exists(v(r, 1)) Then
d(v(r, 1)) = d(v(r, 1)) & ", " & v(r, 2)
Else
d(v(r, 1)) = v(r, 2)
End If
Next r
Range("E1").Resize(d.Count).Value = Application.Transpose(d.Keys)
Range("F1").Resize(d.Count).Value = Application.Transpose(d.Items)
End Sub