首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在合并字段时将多行排序为一行

在合并字段时将多行排序为一行
EN

Stack Overflow用户
提问于 2018-11-23 21:11:14
回答 1查看 41关注 0票数 0

请看我在照片中尝试实现的基本示例,表2显示了我在表1中尝试实现的目标。任何帮助都将不胜感激。谢谢。

编辑:由于前面的解释含糊不清,我添加了实际表格的图像,并重写了下面的问题。

ACTUAL TABLE

我需要一个宏,将通过显示的剪辑列表和压缩数据运行。

如果"L“、"W”、"T“、"Material”、"Face Veneers“和"Edge Veneers/Lippings”具有相同的条目,则它们需要组合。切割列表的行数总是随作业大小的不同而变化。

我需要的数量(“数量”)的总数量的零件组合和“零件代码”组合,以便车间可以在切割过程中的每个零件标签。

在合计中将有一些具有单独数据的混合行,因此不需要合并。

合并后剩下的行将需要删除。

我希望这是更清楚的!谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-11-23 21:33:08

虽然你在->之前提供了一个很好的截图,但对我来说仍然有很多不确定的地方:

  • 何时对零件代码进行分组的标准是什么?L、W、T和Material是否必须相同,或者我们只是简单地添加所有零件代码并添加数量?
  • 输入和输出表是否相同?例如,我们是应该删除行,还是应该在其他地方打印输出?

下面的代码将为你所展示的情况创建所需的输出,但我非常确定它对于你的真实情况来说过于简单化了(例如,它目前只打印一行并将所有内容添加到第一部分代码中)。如果你能解释一下上面的内容,那就太好了

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53447371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档