Excel基于3列将相似的行合并为一行



好的,所以我有一个电子表格,该电子表格是通过将两个相同结构化的电子表格合并到一个数据中来制作的。问题在于两个电子表格都具有"相似"数据,但是一个数据比另一个数据具有更多的数据,但是每个电子表格中都缺少数据,但所有数据都必须保留。我给出的一个建议是通过行手动通过电子表格,以组合行。鉴于此电子表格中有5000行,因此不需要此选项。我确实找到了一个VB脚本,使我可以组合相似信息的行,问题是它似乎仅根据一列信息将所有内容组合到行中。

    Sub MG30Nov12()
    'Updateby20150519
    Dim Rng As Range
    Dim InputRng As Range
    Dim nRng As Range
    Set InputRng = Application.Selection
    Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
    Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
    With CreateObject("scripting.dictionary")
    .CompareMode = vbTextCompare
    For Each Rng In InputRng
        If Not .Exists(Rng.Value) Then
            .Add Rng.Value, Rng.Offset(, 1)
        Else
            .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
                If nRng Is Nothing Then
                    Set nRng = Rng
                Else
                    Set nRng = Union(nRng, Rng)
                End If
        End If
    Next
    If Not nRng Is Nothing Then
        nRng.EntireRow.Delete
    End If
    End With
    End Sub

我想做的就是这样做,但是将多个coulmn数据结合在一起。

有任何想法或建议?

请尝试更改单词:

Rng.Offset(, 1)

to

Rng.Offset(, 3)

希望这个帮助。