选择到列中最后一个非空单元格的Countif

时间:2014-04-29 18:04:32

标签: vba formula

我的rng1只包含到A列中最后一个单元格的非空单元格。我想计算的单元格大于rng1中B1的值。但是,这个公式不起作用,显示错误是由于空单元格。

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 个答案:

答案 0 :(得分:1)

使用xlDown非常不可靠。改为使用这个:

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

此外,我建议您完全限定您的范围,即将Range("A1")更改为ThisWorkbook.Worksheets("sheetName").Range("A1")

相关问题