计算已用行中的空单元格

Count empty cells within used Rows

提问人:M Muaz 提问时间:5/19/2021 最后编辑:PᴇʜM Muaz 更新时间:5/19/2021 访问量:350

问:

我想要以下VBA代码,即计算使用的行数,然后找到B列中的空单元格数,它返回语法错误

Sub Logic()
 'Count Number of used Rows
LastRow = Worksheets("TASK").UsedRange.Rows.count 
Range("O3") = LastRow


'Count Number of Empty cells within the used Row
Dim EmptyCell As Integer
EmptyCell = Application.WorksheetFunction.CountIf(Range("B1":"B" & LastRow), "")
Range("O4") = EmptyCell 

End Sub

谢谢你的帮助

Excel VBA 计数

评论

2赞 Pᴇʜ 5/19/2021
Range("B1":"B" & LastRow)应为 或 。我建议为每个工作表指定该范围。喜欢Range("B1", "B" & LastRow)Range("B1:B" & LastRow)RangeWorksheets("TASK").Range…
2赞 Алексей Р 5/19/2021
更易于使用WorksheetFunction.COUNTBLANK()
1赞 Siddharth Rout 5/19/2021
请勿使用,否则您可能会获得不正确的空白计数。找到最后一行,如图所示 此处 然后按照@АлексейР建议找到相关范围内的空白单元格。UsedRangeWorksheetFunction.COUNTBLANK()
0赞 Алексей Р 5/19/2021
@SiddharthRout 如果需要计算“表”列(范围)中的间隙,则定位到特定列中的最后一行可以减少间隙的数量 - 如果表中列的末尾有间隙。

答:

1赞 Алексей Р 5/19/2021 #1

下面是一个案例。应该记住.UsedRange 在填充工作表的单元格时会动态变化,并可能给出不可预测的结果 - 一切都取决于任务的设置和数据的配置

Option Explicit

Sub Logic()
    With Worksheets("TASK")
        'Count Number of Empty cells within the used Rows
        .Range("O4") = WorksheetFunction.CountBlank( _
            Intersect(.UsedRange, .Columns("B")))
    End With
End Sub

enter image description here