- Sub Macro1()
- On Error Resume Next
- Dim arr, brr, crr, drr, d, i&, j%, k%
- Set d = CreateObject("scripting.dictionary")
- arr = Sheets("数据").Range("a4").CurrentRegion
- brr = Sheets("指定工序").Range("a4").CurrentRegion
- crr = Sheets("取数").Range("a4").CurrentRegion
- ReDim drr(1 To UBound(arr), 1 To UBound(crr, 2))
- MsgBox UBound(drr, 2)
- For j = 1 To UBound(arr, 2)
- d(arr(1, j)) = j
- Next
- For i = 2 To UBound(arr)
- d(arr(i, 2)) = d(arr(i, 2)) & " " & i
- Next
- For i = 2 To UBound(brr)
- x = Split(d(brr(i, 1)))
- For j = 1 To UBound(x)
- s = s + 1
- For k = 1 To UBound(crr, 2)
- drr(s, k) = arr(Val(x(j)), d(crr(1, k)))
- Next
- Next
- Next
- Sheets("取数").Range("a5").Resize(s, UBound(drr, 2)) = drr
- End Sub
复制代码 |