【问题标题】:Count the number of cells that are full计算已满的单元格数量
【发布时间】:2013-12-06 12:38:03
【问题描述】:

我如何计算已满的单元格数量并获得返回号

例如:Range("A4"),然后统计其下有文本的单元格个数并返回计数。碰到没有文字的单元格时必须停止。

L = CountA("A4").End(xlDown)

【问题讨论】:

  • 尝试了什么? =COUNTA(...) 公式可以做到这一点,没有多余的装饰。
  • 你是什么意思我试过 lastRow = .Cells(.Rows.Count, "A4").End(xlUp).Row 但只想从 a4 倒数直到下面没有我不想要的东西它计算 A\ 中的所有内容
  • L = CountA("A4").End(xlDown) 会像这样工作
  • 在下面查看我的答案。 :)

标签: excel vba


【解决方案1】:

编辑:根据 cmets,这是正确的代码:

简单的End(xlDown) 方法

Sub GetCellCount()
    With ThisWorkbook.Sheets("Sheet1") 'Modify as necessary.
        Set HeadC = .Range("A4")
        CellCt = HeadC.End(xlDown).Row - HeadC.Row
        MsgBox CellCt
    End With
End Sub

结果:

如果这有帮助,请告诉我们。

EDIT2:对上述内容不满意,因为简单的End(xlDown) 方法将来可能会带来潜在问题。其他方法如下。

检查空单元格方法

Sub GetCellCountv2()
    With ThisWorkbook.Sheets("Sheet1") 'Modify as necessary.
        CellCt = 0
        Set HeadC = .Range("A4") 'Modify as necessary.
        For Iter = HeadC.Row + 1 To .Rows.Count
            If Not IsEmpty(.Cells(Iter, HeadC.Column)) Then
                CellCt = CellCt + 1
            Else
                Exit For
            End If
        Next Iter
        MsgBox CellCt
    End With
End Sub

检查字符串长度的方法

Sub GetCellCountv3()
    With ThisWorkbook.Sheets("Sheet1") 'Modify as necessary.
        CellCt = 0
        Set HeadC = .Range("A4") 'Modify as necessary.
        For Iter = HeadC.Row + 1 To .Rows.Count
            If Len(.Cells(Iter, HeadC.Column).Value) > 0 Then
                CellCt = CellCt + 1
            Else
                Exit For
            End If
        Next Iter
        MsgBox CellCt
    End With
End Sub

希望这可以解决请求的几个潜在问题。

【讨论】:

  • ThisWorkbook.ActiveSheet 给了我 23 '根据需要进行修改。 LRow = .Cells(Rows.Count, 1).End(xlUp).Row CellCt = LRow - 4 '因为你是从A4开始的。 MsgBox CellCt 结束于
  • 不需要在注释中包含整个代码。您的数据在哪里结束?
  • 我所拥有的是标题是 A4 就像你有然后有下面的内容就像你有我需要它来计算该内容。示例是听者是 4 假设内容最多为 12,然后有一个空单元格需要结束。在那个空单元格之后还有更多我不想计算的内容
  • 错误。非常欢迎您,好先生。 :) 也感谢您接受答案。
  • @DjCovey:添加了另外两个示例,以防您在第一个代码中遇到问题。
猜你喜欢
  • 2014-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
相关资源
最近更新 更多