将行与重复项合并,然后删除行

时间:2019-07-03 16:16:52

标签: excel vba

我创建了一个Excel文件,该文件创建了家具的订单列表。该列表的长度可以在100行到3000行之间,具体取决于订单的大小。

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

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

img1

我知道有很多关于我的问题的帖子,但是我没有找到解决方法。我没有编码方面的经验,因此将不胜感激!

1 个答案:

答案 0 :(得分:0)

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

我敢肯定,您可以通过以下方式解决您的问题。