excel在某些情况下删除行
如果在G列中有一个以210开头的数字,我怎样才能删除Excel表格的整行。
我不想删除行,如果单元格内有210的地方,但只有当它开始。
使用此代码:
Sub RemoveRows() Dim i As Long i = 1 Do While i <= ThisWorkbook.ActiveSheet.Range("G1").CurrentRegion.Rows.Count If Left(ThisWorkbook.ActiveSheet.Range("G" & i).Formula, 3) = "210" Then ThisWorkbook.ActiveSheet.Cells(i, 1).EntireRow.Delete Else i = i + 1 End If Loop End Sub
示例文件: https : //www.dropbox.com/s/yp2cwphhhdn3l98/RemoweRows210.xlsm
要看到它并运行,请按ALT – F11 ,打开Module 1并按F 5键。 祝你好运!
如果你想在没有代码的情况下做,而是纯粹的在UI中,这就是你可以非常有效地做到这一点:
- 插入一个临时列(例如G列的右侧)( Ctrl + 空格在列H的任何单元格中, Ctrl + – )
- 使用公式
=LEFT(TEXT(G1),3)="210"
填充列 – 对于所有要查找的行,这将返回TRUE
- 将自动筛选应用于新列或全部范围( Ctrl – Shift – L )
- 将该列过滤为
TRUE
– 这样,只有您想要删除的行保留 - select所有行并删除(表中任何单元格中的Ctrl – A , Shift – Space , Ctrl – - )
- 删除临时列( Ctrl -H列中的任何单元格中的空格 , Ctrl – - )
完成!