请在照片中看到我要实现的目标的基本示例,表2显示了我要从表1实现的目标。任何帮助将不胜感激。谢谢。
编辑:由于前面的解释含糊不清,我添加了一张实际表的图像并重新编写了下面的问题。
我需要一个宏,该宏将贯穿显示的切割清单并压缩数据。
如果“ L”,“ W”,“ T”,“材料”,“表面贴面”和“边缘贴面/涂胶”具有相同的条目,则需要组合。切割清单的行数始终会根据作业大小而变化。
我需要合并的零件数量和“零件代码”的总数量(“数量”),以便车间可以在切割过程中标记每个零件。
总计中将混合包含单独数据的行,因此不需要合并。
合并后剩下的行将需要删除。
我希望这更清楚!谢谢
答案 0 :(得分:0)
尽管您在屏幕截图之前提供了很好的功能->之后,但我仍然有很多不确定因素:
下面的代码将为您显示的确切案例创建所需的输出,但是我敢肯定,对于您的真实案例而言,这将是简单化的(例如,当前仅打印一行并将所有内容添加到第一部分)码)。如果您能解释以上内容,那就太好了
Sub Test()
Dim i As Integer
Dim rInput As Range
Dim vArr As Variant
Set rInput = Range("B5:G8")
vArr = rInput
For i = LBound(vArr) + 1 To UBound(vArr)
If vArr(i, 3) = vArr(1, 3) And _
vArr(i, 4) = vArr(1, 4) And _
vArr(i, 5) = vArr(1, 5) And _
vArr(i, 6) = vArr(1, 6) Then
vArr(1, 1) = vArr(1, 1) & "," & vArr(i, 1)
vArr(1, 2) = vArr(1, 2) + vArr(i, 2)
End If
Next i
rInput.Offset(rInput.Rows.Count + 3).Resize(1, rInput.Columns.Count) = vArr
End Sub