Excel的重复代码,查找不对空字符串计数的计数

zu0ti5jz  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(120)

我试图对一个列范围进行计数,该列范围包含公式返回的值和空字符串。由于公式未返回值,因此存在空字符串。如何计算返回值而不是空字符串?CountA也返回了我不想要的空字符串。
我试图使用Countif,但它给了我我所寻找的“反向值”。它似乎在计算空字符串,而不是返回值。
intCount = WorksheetFunction.CountIf(Range(“AC5:AC98”),“<>"”)
我尽量不使用循环。

lnvxswe2

lnvxswe21#

我计算出了一个总和,其中总计数减去一个计算空格的函数,其中包括计算空字符串,我得到了答案。

von4xj4u

von4xj4u2#

统计单列范围内的非空

我知道了

Sub CountNonBlanksInSingleColumnRange()

    Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
    Dim rg As Range: Set rg = ws.Range("AC5:AC98")
    
    Dim nbCount As Long: nbCount = rg.Rows.Count - Application.CountBlank(rg)
    
    MsgBox nbCount & " cells are not blank.", vbInformation

End Sub

Excel

=ROWS(AC5:AC98)-COUNTBLANK(AC5:AC98)

在Excel 'jargon'中,对非空白且不包含 Nothing 的单元格进行计数。

um6iljoc

um6iljoc3#

您的代码正在查找不包含两个引号(“”)的单元格。
对于查找非空单元格,文字是“<>"。就您而言

intCount = WorksheetFunction.CountIf(Range("AC5:AC98"), "<>")

如果需要空白单元格

intCount = WorksheetFunction.CountBlank(Range("AC5:AC98"))

如果需要非空白单元格

intCount = Range("AC5:AC98").Count - WorksheetFunction.CountBlank(Range("AC5:AC98"))

相关问题