如何自动删除Excel中包含“总计”的所有行?

在我的活动工作表称为报告我有2列I和F.

它有重复的单元格,其中包含文字“Grand Total”

如果它自动包含Grand Total,我想要删除整行。

VBA代码会很好。

在这里输入图像说明

使用以下VBA代码,可以快速删除具有特定单元值的行,请执行以下步骤:

  1. select要删除特定行的范围。

  2. 单击开发人员> Visual Basic,将显示一个新的Microsoft Visual Basic应用程序窗口,单击插入>模块,然后将以下代码input到模块中:

    基于单元格值(即总计)删除整个行的VBA代码:

     Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:D22"), ActiveSheet.UsedRange) For Each cell In rng If (cell.Value) = "Grand Total" _ Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub 
  3. 然后点击“播放/运行”button来运行代码,并删除具有一定数值的行。

(注意:如果在Excel中看不到“开发人员”选项卡请执行以下步骤:1)单击“Officebutton”,然后单击“Excel选项”。 2)在“热门”类别的“使用Excel的首选项”下,选中“function区”中的“显示开发人员”选项卡checkbox,然后单击“确定”。

使用AutoFilter非常有效。 这也可以不使用VBA (即手动)

主要分

 Sub Main() Dim ws As Worksheet Dim rng1 As Range Dim StrIn As String Dim rng2 As Range Set ws = Sheets("Sheet1") Application.ScreenUpdating = False Set rng1 = ws.Range("F:F,I:I") StrIn = "Grand Total" For Each rng2 In rng1.Columns Call FilterCull(rng2, StrIn) Next Application.ScreenUpdating = True End Sub 

删除小组

 Sub FilterCull(ByVal rng2, ByVal StrIn) With rng2 .Parent.AutoFilterMode = False .AutoFilter Field:=1, Criteria1:=StrIn .EntireRow.Delete .Parent.AutoFilterMode = False End With End Sub