Excel VBA - 如果一个范围的总和为0 - 删除行
问题描述:
我想写一些删除行的代码,如果从B:H = 0的值的总和。(或者如果B: H为0)Excel VBA - 如果一个范围的总和为0 - 删除行
我目前正试图
Dim t
For t = (9 + UBound(Champ) + UBound(Champ)) To (9 + UBound(Champ)) Step -1
If WorksheetFunction.CountA(Range(Cells(t, 2), Cells(t, 8))) = 0 Then
Rows(t).EntireRow.Delete
End If
Next t
然而,当我运行这个在我的代码没有任何反应。没有错误,当然也没有行被删除。有任何想法吗?
答
将CountA替换为Sum。 CountA计算单元格是否有值。显然0是一个值,这是我的错误
你说'总和'在你的标题,但在你的vba中使用'counta'。 'counta()'为't'行返回0吗? – JNevill
啊,我以为'CountA会返回0在一个单元格是0我的不好,把它改为和,它的作品:) – Dullspark
太棒了!我很高兴这是一个简单的解决方案,而不是那些整天把头发拉出头部类型的问题:) – JNevill