我有一个excel表格,其中包含我用于调和帐户的小计。小计在F&列中。 H.当它们平衡时,我想删除该小计组中的所有行。
在这张表中,小计公式包括它正在计算的行(在这种情况下,我想从行104-109中删除,因此可以从公式=SUBTOTAL(9,F104:F108)
得到104,所以我一直试图提取第一行,然后将其传递到要删除的行范围。
更新:更改了脚本
简化了它,但仍然在Rows(y & ":" & i).EntireRow.Delete
行中出现类型不匹配。
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
End Sub
非常感谢任何帮助/指导!!提前致谢。
答案 0 :(得分:1)
MID的第三个参数不能为负数。检查您是否没有传递x的负数。有多种类型转换问题。首先从昏暗的陈述中删除“as long”。我认为在那一点上你会发现问题是你传入的Rows()
不是一行的有效地址