Foxtable(狐表)用户栏目专家坐堂 → 高速合并如何实现相同物料代码合并数量


  共有18人关注过本帖树形打印复制链接

主题:高速合并如何实现相同物料代码合并数量

帅哥哟,离线,有人找我吗?
zjykyy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:122 威望:0 精华:0 注册:2024/9/6 12:34:00
高速合并如何实现相同物料代码合并数量  发帖心情 Post By:2025/4/13 8:21:00 [只看该作者]

高速合并多个excel文件时,如何能够将物料代码相同的行的自动合并为一行,并且数量自动累加。即确保物料代码列唯一,而总数量不变。物料代码没有重复的行正常引入即可。

 回到顶部
帅哥哟,离线,有人找我吗?
zjykyy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:122 威望:0 精华:0 注册:2024/9/6 12:34:00
  发帖心情 Post By:2025/4/13 8:25:00 [只看该作者]

如果可以在高速合并的三个选项中增加这个功能就更好了。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113347 积分:577194 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/13 20:13:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2334.htm,合并的时候先查一查是否有同代码的行,有就合并,没有就新增

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
Dim 
nms() As String = {"物料代码","数量","列1","列2","……"}
For n As Integer = 1 To Sheet.Rows.Count -1
    
Dim bh As String = sheet(n,0).Text
    
Dim dr As DataRow = DataTables("订单").Find("物料代码 = '" & bh & "'")
    If 
dr Is Nothing Then '如果不存在同编号的订单
        
dr =  DataTables("订单").AddNew()
    For 
m As Integer = 0 To nms.Length - 1
        
dr(nms(m)) = Sheet(n,m).Value
    Next
else ‘如果存在就合并数量
dr("数量") = dr("数量")+Sheet(n,1).Value
    End If
Next
Tables(
"订单").ResumeRedraw()

 回到顶部