【问题标题】:Delete rows with certain number in text string in a cell删除单元格中文本字符串中具有特定编号的行
【发布时间】:2015-09-11 21:37:29
【问题描述】:

我有一个包含大约 500 个数据条目的列表,其中一些在单元格中具有相同数字的不同文本。我需要找到所有带有“00000”的行并删除它们。 我需要计算“test2”启动不工作的时间(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

【问题讨论】:

  • 几天前我已经回答了一个类似的问题。请搜索stackoverflow
  • Here 是一个非常古老的问题的链接。在这里,我将结果复制到另一张纸上。您可以简单地删除该范围。
  • Siddharth Routh 在您的回答中,但我没有找到任何与我的问题有关的问题......还有什么是“如何使用特定单词在 excel 中复制一行并粘贴到另一个excel表格?”与“删除单元格中文本字符串中具有特定数字的行”有关?
  • 请重新阅读我上一条评论:)
  • 请使用您正在尝试的自动过滤代码更新问题

标签: excel excel-2010 vba


【解决方案1】:

尝试运行以下代码来删除过滤的行。在运行代码之前,请确保输入变量 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

【讨论】:

  • 是什么让你认为这是重复的?如果其中的某些部分已经在其他地方得到回答,这并不意味着整个问题都是重复的。
  • “某部分”?链接的问题包含 OP 需要的所有代码,只需更改其中的一行
  • 我相信你当时就可以回答了。
  • 是的,我可以拥有但没有这样做,因为这不符合道德。因此,我提供了 OP 的链接。如果您打算删除该问题,那么我将撤消反对票:)
  • 这对我没有帮助,我需要知道如何删除文本中带有“000000”的行。我无法过滤它以删除行,因为有公式正在计算表格中的内容......
猜你喜欢
  • 1970-01-01
  • 2022-09-30
  • 2022-11-11
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多