我有一个包含目录的列。
如何搜索不包含关键字的单元格并将其删除?
例如,如果我有这样的列:
C:\Users\Desktop\Folder\html\test.html
C:\Users\Desktop\Folder\book.html
C:\Users\Desktop\Folder\Documents\test.html
C:\Users\Desktop\Folder\frontpage.html
C:\Users\Desktop\Folder\test.html
我想搜索关键字“test.html”,我应该最终得到这个:
C:\Users\Desktop\Folder\html\test.html
C:\Users\Desktop\Folder\Documents\test.html
C:\Users\Desktop\Folder\test.html
应删除第2行和第4行。
我发现了一些有用的东西,但是如果检查整个列,我需要很长时间才能完成(所以我只使用100个)。
Dim rng As Range
Dim cell As Range
Dim ContainWord As String
Set rng = Range("A1:A100")
ContainWord = "keyword"
For Each cell In rng.Cells
If cell.Find(ContainWord) Is Nothing Then cell.Clear
Next cell
答案 0 :(得分:3)
试试这个,它应该更快:
With UsedRange
.AutoFilter 1, "<>*test.html*", xlAnd, , False
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
答案 1 :(得分:0)
替换:
Set rng = Range("A1:A100")
使用:
Set Rng = Intersect(Range("A:A"), ActiveSheet.UsedRange)