0

如果 G 列中有一个以 210 开头的数字,如何删除 Excel 工作表的整行。

如果单元格内部某处有 210,我不想删除该行,但只有从它开始。

4

2 回答 2

3

使用此代码:

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,打开 Module1 并按F5。祝你好运!

于 2013-02-06T19:29:40.463 回答
1

如果您想在没有代码但纯粹在 UI 中执行此操作,这就是您可以非常有效地执行此操作的方法:

  1. 插入一个临时列(例如 G 列右侧)(Ctrl-Space在 H 列的任何单元格中,Ctrl- +
  2. 用公式填充列=LEFT(TEXT(G1),3)="210"- 这将返回TRUE您查找的所有行
  3. 将自动筛选应用于该新列或整个范围 ( Ctrl- Shift- L)
  4. 过滤该列TRUE- 这样,只保留您要删除的行
  5. 选择所有行并删除(Ctrl-A在表格中的任何单元格中,Shift- SpaceCtrl- -
  6. 删除临时列(Ctrl-Space在列 H 的任何单元格中,Ctrl- -

完毕!

于 2013-02-06T20:35:39.540 回答