VBA-比较两列并复制

时间:2018-07-11 11:23:49

标签: excel vba

我在excel中有一个表,需要将其最小化。

因此,它由包含许多不同数据的行组成,我需要遍历TCID列并找到具有最大LBID的行(没有常量值,此文件中的所有内容可能会有所不同),然后仅复制此行特定行插入第二个电子表格。我已经对它进行了排序,但是我找不到一种方法来管理其余部分

请看图片:

  1. What i have:

  2. What i need

  3. More accurate table

  4. Table after copying, missing rows 我将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试此操作,您可能需要将Sheet1和Sheet2更改为选项卡名称。另外,我不确定您的数据是从第二行还是从第一行开始,我是从第二行开始的。

Sub Copy_Unique()
Dim i As Integer
Dim Max_Value As Integer
Dim Max_Row As Integer
Dim Next_Blank As Integer

Next_Blank = 1
Max_Value = Sheets("Sheet1").Range("e2")
Max_Row = 2
For i = 2 To Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    If Sheets("Sheet1").Range("b" & i) = Sheets("Sheet1").Range("b" & i + 1) Then
        If Sheets("Sheet1").Range("e" & i + 1) > Max_Value Then
            Max_Value = Sheets("Sheet1").Range("e" & i + 1)
            Max_Row = i
        End If
     Else
        Sheets("Sheet1").Rows(Max_Row).Copy

        Sheets("Sheet2").Activate
        Sheets("Sheet2").Range("a" & Next_Blank).Insert
        Next_Blank = Next_Blank + 1
        Max_Value = Sheets("Sheet1").Range("e" & i + 1)
        Max_Row = i + 1
    End If
Next I
end sub