循环列计数非空白的单元格

时间:2016-06-30 09:40:09

标签: excel-vba loops count countif is-empty

我正在尝试遍历列并计算非空白的单元格数。它必须遵循的过程是:

  1. 从第一个单元格开始计算非空白单元格,直到连续两个空白单元格

  2. 此时停止并将计数值返回到工作表上的单元格

  3. 在下一个非空白单元格再次开始计数并重复1.和2.直到您到达数据末尾

  4. 额外:如果我还可以返回与第一个非空白相关的行中的日期以及第一个空白(从找到前两个空白单元格的点)

    如果您需要更多信息,请询问。我认为VBA会做得更好吗?

    感谢。

    到目前为止,

    代码是:

    Sub Test1()

    范围( “I3”)。选择

    直到IsEmpty(ActiveCell)和IsEmpty(ActiveCell.Offset(1,0))

    Dim iVal As Integer

    iVal = Application.WorksheetFunction.CountIf(Range(“I:I”),“TRUE”)

    ActiveCell.Offset(2,0)。选择

      Loop
    

    End Sub

1 个答案:

答案 0 :(得分:0)

正如你提到我认为VBA会更好地做这件事吗?我假设你会考虑一个公式解决方案。

假设数据在ColumnA中以单个空白单元格开头,在B2中:

=IF(AND(ISBLANK(A2),ISBLANK(A3)),COUNTA(A$1:A2)-SUM(B$1:B1),"")  

向下拖动,直到0出现。