从上一行单元格的值中删除所有包含值的行

时间:2019-09-10 11:30:43

标签: excel vba multidimensional-array distinct rows

我有一个excel表,该表在每一行中应仅包含唯一值。如果先前的单元格值中的任何一个在其他行中的任何地方重复,则应该删除compline行。示例表就是这样

Example       
Table       The result 
______      _____
0 1 3       0 1 3                   
6 4 1 5  -> 8 9 2
8 9 2                                           

应清除第二行,因为第一行已包含1。但是第三行应该在那里,因为它不包含前几行的任何重复项。

我需要excel公式来过滤像这样或带有多维数组的vba代码,以清除不需要的行。

1 个答案:

答案 0 :(得分:1)

试试这个... 它适用于我拍摄的所有样本。

Dim i, j, k, l As Long

LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

For k = 1 To LastRow
    For i = k + 1 To LastRow
        For j = 1 To LastCol
            For l = 1 To LastCol
                If (Sheets(1).Cells(i, j).Value2 <> "") And _
                    (Sheets(1).Cells(k, j).Value2 <> "") And _
                    (Sheets(1).Cells(i, j).Value2 = Sheets(1).Cells(k, l).Value2) Then
                    Sheets(1).Cells(i, j).EntireRow.ClearContents
                End If
            Next
        Next
    Next
Next

Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete