要求这个文件里面凡是黑色的行都要删除,如果红色的行与黑色的行一样,那么红色的行也要删除,就是说删除时遇到重复的全部删除,比如1,2,2,3,4,4,5结果应该剩下1,3,5,如果有唯一的黑色行,那么也把他删了,这个论坛很专业啊,高手应该不少啊,不会很难吧,大家认为有什么办法可以实现呢?或者有没有相关的脚本?

解决方案 »

  1.   

    用EXCEL宏去删除吧,不过写宏代码,要去判断和挑选重复的行,具体代码要根据实际情况和个人爱好去写。
      

  2.   

    你的是excel2000?
    如果是07的话
    有这个功能
    参考:上期的电脑报
      

  3.   

    看看这个
      Sub Macro2()
           With [A1].Resize([A65536].End(xlUp).Row, 1)
                .FormulaR1C1 = "=IF(COUNTIF(R1C3:RC3,RC3)=1,1,1/0)"    '重點
                .SpecialCells(xlCellTypeFormulas, 16).EntireRow.Select 'Delete
           End With
       End Sub
      

  4.   

    Sub Macro1()
    '
        Dim arrRow() As String
        Dim num As Long
        
        num = 0
        ReDim arrRow(num)
            For i = 1 To ActiveCell.SpecialCells(xlCellTypeLastCell).Row
            '记录凡是颜色=灰色的行号
            If Rows(i).Interior.ColorIndex = 16 Then
                arrRow(num) = i
                num = num + 1
                ReDim Preserve arrRow(num)
            End If
            '记录重复的行号
            For j = 1 To i - 1
                If Cells(i, 1) = Cells(j, 1) Then
                    arrRow(num) = i
                    num = num + 1
                    ReDim Preserve arrRow(num)
                    Exit For
                End If
            Next
        Next
        
    '通过行号,组成一个选择范围
        strTemp = ""
        For i = 0 To UBound(arrRow) - 1
           ' Debug.Print arrRow(i)
            If strTemp <> "" Then
                strTemp = strTemp + "," + arrRow(i) + ":" + arrRow(i)
            Else
                strTemp = strTemp + arrRow(i) + ":" + arrRow(i)
            End If
        Next
    '选择组成的行范围
        Range(strTemp).Select
    '删除选择的行
        Selection.Delete Shift:=xlUp
        
    End Sub