2017-09-25 1 views
0

B : H = 0에서 값의 합계가있는 경우 행을 삭제하는 코드를 작성하려고합니다. 또는 B : H 내가 어떻게 내 코드 아무것도이 실행 그러나 때 현재 내가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 

을 시도하고 0)

이다. 오류가없고 확실히 삭제 된 행이 없습니다. 어떤 아이디어?

+2

제목에'sum'이라고 말하면서 vba에서'counta'를 사용하십시오. 'counta()'는't' 행에 대해 0을 반환합니까? – JNevill

+0

아, CountA가 0 인 셀에 0을 반환 할 것이라고 생각했습니다. 좋지 않습니다. Sum으로 변경하면 작동합니다. – Dullspark

+2

좋아요! 나는 그것이 쉽지 않은 수정이었고 하루 종일 당신의 머리를 문제의 머리 유형에서 끌어 내지 못했기 때문에 기쁩니다 :) – JNevill

답변

0

CountA를 Sum으로 바꾸십시오. CountA는 셀에 값이 있는지 계산합니다. 분명히 0은 가치이며 그것은 내 실수였습니다