首页 > 解决方案 > 将行与重复项合并,然后删除行

问题描述

我创建了一个用于创建家具订单列表的 excel 文件。该列表的长度可以从 100 行到 3000 行不等,具体取决于订单的大小。

我的问题是创建订单列表的数据包含很多重复项,如图所示。

我需要帮助的是创建一个宏,它采用所有匹配的 id 编号并将其组合到一个组合数量的行中。标价将相同,总价是取自数量*标价的函数。

图像1

我知道有几篇关于像我这样的问题的帖子,但我还没有找到解决办法。我对编码没有那么丰富的经验,所以我会很感激我能得到的所有帮助!

标签: excelvba

解决方案


Stackoverflow 不应该是人们解决问题的平台。如果事情没有解决,您应该自己尝试并寻求帮助。您可以使用宏并遍历所有条目。很难解释你必须做什么,除了在代码中。

尝试理解这段代码并根据您的需要采用它:

Option Explicit

Sub cleanDuplicateIDs()

Dim startrow As Integer
Dim IDcolumn As Integer

startrow = 2
IDcolumn = 3

Dim i As Integer
Dim j As Integer

Dim amount As Integer
Dim aktID As String

i = startrow
While Cells(i, IDcolumn) <> ""
    aktID = Cells(i, IDcolumn)
    amount = Cells(i, IDcolumn + 1)
    j = i + 1
    While Cells(j, IDcolumn) <> ""
        If Cells(j, IDcolumn) = aktID Then
            amount = amount + Cells(j, IDcolumn + 1)
            Rows(j).Delete
        Else
            j = j + 1
        End If
    Wend
    Cells(i, IDcolumn + 1) = amount
    i = i + 1
Wend

End Sub

我敢肯定,你可以用这样的东西解决你的问题。


推荐阅读