|
从"看板卡清单"中提取所有"判定=1"的看板的物料,生成一个新的看板bom清单,
比如看板卡清单中新文件号为BC01-0010的看板的记录是这样的:
序号 | 电线物料号 | 长度 | 二区端子物料号 | 二区防水栓物料号 | 一区端子物料号 | 一区防水栓物料号 | 新文件号 | 判定 | 1 | M19902228 | 1060 |
| | M22002346 | M30600090 | BC01-0010 | 1 | 要求生成的bom清单为:
新文件号 | 物料描述 | 物料号 | 使用数量 | 四班数量 | 四班单位 | BC01-0010 | 电线 | M19902228 | 1060(线长) | 1.06(线长/1000) | MT | BC01-0010 | 端子 | M22002346 | 1 | 0.001 | KP | BC01-0010 | 防水栓 | M30600090 | 1 | 0.001 | KP | 哪位高手可以帮个忙,写一个VBA代码,本人刚刚接触VBA,还是一头雾水。 |
- Sub tt()
- arr = Range("a1:i" & Range("a65536").End(3).Row)
- ReDim brr(1 To 4 * UBound(arr), 1 To 6)
- Dim a(1 To 7)
- a(2) = "电线":
- a(4) = "端子": a(6) = "端子"
- a(5) = "防水栓": a(7) = "防水栓"
- For i = 2 To UBound(arr)
- For j = 2 To 7
- If arr(i, 9) = 1 And a(j) <> "" And arr(i, j) <> "" Then
- n = n + 1
- brr(n, 1) = arr(i, 8)
- brr(n, 2) = a(j)
- brr(n, 3) = arr(i, j)
- brr(n, 4) = IIf(j = 2, arr(i, 3), 1)
- brr(n, 5) = brr(n, 4) / 1000
- brr(n, 6) = IIf(j = 2, "MT", "KP")
- End If
- Next
- Next
- Sheet2.[H2].Resize(n, 6) = brr
- End Sub
复制代码
|
|