我有一张表,其中 Col A 中有一个字符串 A,Col B 由字符串 B 组成。
我想在 A 列中保留带有“Begründung”一词的行,在 B 列中保留带有“Nein”一词的行。
我正在使用从这些来源找到的以下代码如果单元格不包含“@”,则删除整行的有效方法 & 根据搜索键删除行VBA
Sub KeepOnlyAtSymbolRows()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Set ws = ActiveWorkbook.Sheets("Sheet1")
lastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set rng = ws.Range("A1:A" & lastRow)
' filter and delete all but header row
With rng
.AutoFilter Field:=1, Criteria1:="<>*Begründung*"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
' turn off the filters
ws.AutoFilterMode = False
End Sub
我想为 B 列添加另一个标准。无论在 B 列中遇到“Nein”,该行都将保留,其余行将被删除,但同时 A 列中的“Begrüundung”将被保留,其余行将被删除。
换句话说,只要在工作表中遇到单词“Begründung”和“Nein”,这些行就会被保留,其余行将被删除。
如果你们能提供帮助,我将不胜感激。
尝试这个:
Sub DeleteWithMultipleColumnsCriterias()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Set ws = ActiveWorkbook.Sheets("Sheet1")
lastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set rng = ws.Range("A1:B" & lastRow)
' filter and delete all but header row
With rng
.AutoFilter Field:=1, Criteria1:="<>*Begründung*"
.AutoFilter Field:=2, Criteria1:="<>*Nein*"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
' turn off the filters
ws.AutoFilterMode = False
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)