根据部分文字删除行 [英] Delete row based on partial text
问题描述
如果我在A列中找到文本"FemImplant",我将尝试删除整行.
文本是用"$"链接的句子的一部分.我需要解析"$"之前的单元格内容,看看它是否与"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
Next
您可以使用自动筛选删除包含文本FemImplant$
的行.这种方法比循环快得多.
如果您正在使用布尔值值,则可能需要查看
You can use AutoFilter to delete the rows which contain the text If you are working with Boolean values then you may want to see Trying to Delete Rows with False Value in my Range See this example I am assuming that Cell A1 has header. SNAPSHOT 这篇关于根据部分文字删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!FemImplant$
. This method will be much faster than looping.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