如果两个单元格包含特定文本,如何删除整行

时间:2015-03-11 11:54:19

标签: excel vba excel-vba

如果两个单元格(可以在工作表的任何列中)包含特定文本,我需要可以删除整行的VBA代码。

我有一个每日生成的打印报告文件,并且在此文件中存在任何列中的文本(在非特定列中)"printed BlackWhitepages, total = #""printed Colourpages, total = #"

#代表一个数字,因此在我的文件中可能有0-99999 ....,具体取决于打印的页数。

该文件包含ABA以及数千行的列,BlackwhitepagesColourpages文本可能位于每列上,具体取决于打印作业。

我希望VBA查看整个工作表,如果一行包含 "printed BlackWhitepages, total = 0" "printed Colourpages, total = 0" ,则整行应为删除。

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:

Sub DeleteRow()

For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    VarBnW = 0
    VarCol = 0
    For Each cell In Range("A" & i & ":" & "BA" & i)

        If Trim(cell.Value) = "Gedruckte Schwarzweißseiten, insgesamt = 0" Then VarBnW = 1
        If Trim(cell.Value) = "Gedruckte Farbseiten, insgesamt = 0" Then VarCol = 1

        If VarCol + VarBnW = 2 Then
            MsgBox cell.Address
            cell.EntireRow.Select
            Selection.Delete
            i = i - 1
        End If

    Next cell
Next i

End Sub