2017-09-13 41 views
0

好吧,所以我有一個電子表格是通過將兩個相同結構的電子表格組合在一起製成的,這些電子表格將所有數據合併爲一個。問題是這兩個電子表格都有「相似」的數據,但是其中一個數據比另一個數據更多,但是每個電子表格都缺少數據,但需要保留所有數據。我給出的一個建議是手動逐行瀏覽電子表格以合併行。鑑於此電子表格中有5000行,此選項不可取。我確實找到了一個VB腳本,它允許我組合多行相似的信息,問題是它似乎只根據一列信息將所有內容組合到一行上。Excel合併類似行爲基於3列的一行

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數據。

任何想法或建議嗎?

回答

0

請嘗試更改單詞:

Rng.Offset(, 1) 

Rng.Offset(, 3) 

希望這有助於。