Excel VBA - 如何统一行

时间:2016-07-27 00:13:57

标签: excel vba excel-vba duplicates row

我真的需要一些帮助。我有一个基于变量名为“g / c”的wotkbook。 g / c位于“A”列中。工作表中有一些重复的g / c,但数据不同。我需要将所有数据统一在一起。看看这个例子:

 A    B   C   D   E   F   G   H   I   J   K   L   M  
G/c_______________________________________________
142|  23          4       5           6
412|
556|      2           2            5
263|  6        6                              6    7
111|                          9
142|      5    6

g / c“142”apear有两个不同的行和不同的数据。我需要一个可以执行此操作的代码:

  A    B   C   D   E   F   G   H   I   J   K   L   M  
G/c__________________________________________________
142|  23   5   6   4       5           6
412|
556|      2           2            5
263|   6        6                              6    7
111|                          9

代码需要删除其中一个带有重复g / c的行(本例中为142),并组合来自不同行(23,5,6,4,5,6)的数据。我不需要它们在同一个单元格中合并。数字5和6(列C和D)在第一个g / c = 142时不是apear,与第二个g / c = 142中的23不相同。我需要一行包含所有这些值。

我有一些代码:

  'Deletando duplicatas
    ' Get count of records to search through.
    iListCount = Sheets("Automóveis").Range("A1:A10000").Rows.Count
    Sheets("Automóveis").Range("A3").Select
    ' Loop until end of records.
    Do Until ActiveCell = ""
       ' Loop through records.
       For iCtr = 1 To 200

          ' Don't compare against yourself.
          ' To specify a different column, change 1 to the column number.
          If ActiveCell.Row <> Sheets("Automóveis").Cells(iCtr, 1).Row Then
             ' Do comparison of next record.
             If ActiveCell.Value = Sheets("Automóveis").Cells(iCtr, 1).Value Then
                ' If match is true then copy the data.

                      If Cells(iCtr, "AC") <> "" Then
                        Cells(iCtr, "AC").Copy
                        Cells(ActiveCell.Row, "AC").PasteSpecial

                    'Increment counter to account for deleted row.
                        End If
                   iCtr = iCtr + 1
             End If
          End If
       Next iCtr
       ' Go to next record.
       ActiveCell.Offset(1, 0).Select
    Loop
    Application.ScreenUpdating = True

我需要修改它,就像前面的例子一样。

0 个答案:

没有答案