删除单元格中文本字符串中具有特定编号的行

时间:2015-09-11 12:19:12

标签: excel excel-vba excel-2010 vba

我有一个包含大约500个数据条目的列表,其中一些在单元格中具有相同编号的不同文本。我需要用" 00000"找到所有这些行。在其中并删除它们。 我需要计算" test2" startet no working(18:23)并且需要知道它再次工作需要多长时间(18:30)并且error00000消息正在搞乱我的公式,所以我需要删除其中包含error00000的所有行。错误信息永远不会相同,但" 000000"在它总是一样的。

我不知道如何使用VBA代码找到它,因为我只能在单元格中找到数字。数据条目可以每周更改,因此它应该与VBA一起使用。 我有一些代码,但它的在线工作时,单独的数字在单元格而不是像Error message 00000这样的句子中,文本总是在变化,数字保持不变。

我在单元格中删除仅包含数字的行的代码

Private Sub CommandButton1_Click()
    Dim lRow As Long
    Dim iCntr As Long
    lRow = 1000
    For iCntr = lRow To 1 Step -1
        If Cells(iCntr, 5).Value = "1008" Then
            Rows(iCntr).Delete
        End If
    Next
End Sub



03.09.2015 18:30    test2   EXAMPLETEXT blablablalb error000002
03.09.2015 18:25    test2   EXAMPLETEXT blablablalb error000000
03.09.2015 18:23    test2   EXAMPLETEXT blablablalb error000002
03.09.2015 18:30    test1   EXAMPLETEXT blablablalb error000002
03.09.2015 18:25    test1   EXAMPLETEXT blablablalb error000000
03.09.2015 18:23    test1   EXAMPLETEXT blablablalb error000002

1 个答案:

答案 0 :(得分:0)

尝试运行以下代码以删除已过滤的行。在运行代码之前,请确保输入变量strSearchstrSearchColNamestrSheetName的值。

Sub Delete_Rows_Condtionally()
    Dim lastRow As Long
    Dim currentRow As Long
    Dim cellText As String
    Dim strSearch As String
    Dim strSearchColName As String

    strSearch = "000000"
    strSearchColName = "E"
    strSheetName = "tabelle2"

    With ThisWorkbook.Worksheets(strSheetName)

        'Get last row
        lastRow = .Range(strSearchColName & .Rows.Count).End(xlUp).Row
        currentRow = lastRow
        Do While currentRow >= 1
            cellText = .Range(strSearchColName & currentRow).Text
            If (InStr(1, cellText, strSearch)) Then
                .Range(strSearchColName & currentRow).EntireRow.Delete
            Else
                currentRow = currentRow - 1
            End If
        Loop

    End With

End Sub