EXCEL同类型数据合并

    最近一段时间总要处理一些EXCEL数据,需要将同型号的零件数量进行合并,并将未发出的东西进行统计,最开始我是手工的将同类型的数据进行人为的合并,但随着项目的推进,数据越来越庞大,手工合并的错误率太高,另外我本人对EXCEL使用的不太好,函数什么的也没研究过,不过宏命令这种东西还是略微了解一些,稍微有些VB的基础就可以了。目前总数据已经有4000多行了,批量的处理,一定要让电脑自己干,所以写了段19行的代码,十秒钟就能完成这些数据的累加。(前提是数据格式要规范,规范,规范!重要的事说三遍。)

    本人的EXCEL数据格式如下:

微信截图_20200516152320.png

只要是“名称”和“型号”一致的数据认为是同一类型的数据,并将后面的数量进行累加,核心代码如下:

Sub 按钮3_Click()
Dim icount, i, j, c As Integer
icount = ActiveSheet.Range("A65535").End(xlUp).Row
MsgBox ("表格总行数" & icount)
For i = 2 To icount
    For j = i + 1 To icount
        c = 0
        If Cells(i, 7) <> "已处理" Then
            If Cells(i, 1) = Cells(j, 1) And Cells(i, 2) = Cells(j, 2) Then
                c = Cells(i, 3) + Cells(j, 3)
                Cells(i, 3) = c
                Cells(j, 7) = "已处理"
                Cells(j, 3) = 0
            End If
        End If
    Next
Next
MsgBox ("数据合并完成")
End Sub

运行后,结果如下:

微信截图_20200516152348.png

    不过要注意,运行之后,数据不能回退,需要先备份。另外这个存在一个问题,以上代码运行后只给了一个结果,并没法追溯到原始数据,其实可以增加一些代码,并将后面的“所属专机或发货日期”中的内容也进行合并,并将结果直接显示到“备注”里面。

添加回复:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。