根据条件删除行

我希望有人可以帮助这段代码。 如果我在列A中find文本“FemImplant”,我试图删除整行。棘手的部分是,这个文本是由'$'链接的句子的一部分。 所以我需要在“$”之前parsing出单元格的内容,看它是否与“FemImplant”匹配并删除该行。 这是我迄今为止,但它没有工作。

Dim cell As Excel.Range RowCount = DataSheet.UsedRange.Rows.Count Set col = DataSheet.Range("A1:A" & RowCount) Dim SheetName As String Dim ParsedCell() As String For Each cell In col ParsedCell = cell.Value.Split("$") SheetName = ParsedCell(0) If SheetName = "FemImplant" Then cell.EntireRow.Delete Shift:=xlUp End If 

下一个

您可以使用AutoFilter删除包含文本FemImplant$的行。 这个方法比循环要快得多。

看到这个例子

我假设单元格A1有头。

 Sub Sample() Dim ws As Worksheet Dim strSearch As String Dim lRow As Long strSearch = "FemImplant$" Set ws = Sheets("Sheet1") With ws lRow = .Range("A" & .Rows.Count).End(xlUp).Row '~~> Remove any filters .AutoFilterMode = False '~~> Filter, offset(to exclude headers) and delete visible rows With .Range("A1:A" & lRow) .AutoFilter Field:=1, Criteria1:="=*" & strSearch & "*" .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete End With '~~> Remove any filters .AutoFilterMode = False End With End Sub 

快照

在这里输入图像描述