VBA在单元格匹配时从小计组中删除行

我有一个Excel小表,我正用它来调和一个帐户。 小计在F&H列。当它们平衡时,我想删除该小计组中的所有行。

在这张表中,小计公式包括它正在计算的行(在这种情况下,我想从行104-109中删除,所以可以从公式=SUBTOTAL(9,F104:F108)得到104 =SUBTOTAL(9,F104:F108)所以我一直试图提取第一行,然后将其传递到要删除的行的范围内。

更新:改变了脚本

简化它,但仍然Rows(y & ":" & i).EntireRow.Delete行types不匹配。

 Sub QuickKill() Dim i Dim y For i = 1910 To 1 Step -1 If Range("F" & i).Value = Range("H" & i).Value Then y = Mid(Range("F" & i).Formula, 14, CInt(Len(i))) Rows(y & ":" & i).EntireRow.Delete End If Next i 

结束小组

任何帮助/指导非常感谢! 提前致谢。

这是Excel工作表的布局

MID的第三个参数不能是负数。 检查你是不是传入x的负数。 有多种types转换问题。 首先从你的暗淡陈述中删除“只要”。 我认为在这一点上,你会发现问题是你正在传入的Rows()不是一个有效的行地址