2014-04-29 2 views
0

내 rng1에는 열 A의 마지막 셀에 비어 있지 않은 셀만 포함됩니다. rng1에서 B1의 값보다 큰 셀을 계산하려고합니다. 그러나이 수식이 작동하지 않아 빈 셀 때문에 오류가 발생했습니다. 매우 신뢰할 수없는 xlDown를 사용Countif가 열의 마지막 비어 있지 않은 셀로 선택됩니다.

Sub CountRng1() 
Dim rng1 As Range 
Set rng1 = Range(Range("A2"), Range("A2").End(xlDown)) 
Range("C1").formula="=countif(rng1,"">""&B1)" 
End Sub 

excel table

답변

1

.

Sub CountRng1() 
    Dim lastrow As Long 
    Dim rng1 As Range 

    lastrow = Cells(Rows.Count, "A").End(xlUp).Row 
    Set rng1 = Range("A2:A" & lastrow) 
    Range("C1").Formula = "=COUNTIF(" & rng1.Address & ","">"" & B1)" 
End Sub 

이 제발 읽기 : 대신 하나를 사용하여 즉, How to determine last used row/column

또한 내가 완전히 범위를 한정 할 수 suggets 변경 Range("A1") 내 개인용 매크로 통합 문서의 모든 매크로를 저장하고 때

+0

ThisWorkbook.Worksheets("sheetName").Range("A1")에 , 나는 그것이 반드시 범위를 완전히 한정 할 필요는 없다고 생각한다. 그렇지? –

+0

필자는이 작업이 더 필요하다고 말하고 싶지만'ThisWorkbook' 대신'ActiveWorkbook'을 사용하고 시트를 지정하는 대신'ActiveSheet'를 사용하십시오 – tigeravatar

+0

@AmandaS, 맞습니다,이 매크로를 항상 사용하려면 _active wroksheet_에서 그냥 그대로두기 바랍니다.'Set rng1 = Range ("A2 : A"& lastrow)' –

관련 문제