如何实现VBA中的单个条件计数?

i列中是一列整数例:如果i列中有10个“2063”,就在N列显示10。 如果i列中有9个“2093”,就在N列显示9。(i列只是自定义了单元格式等同于数字) 等同于这个公式 = countif ( i:i , i )主要是用公式数据太多电脑会卡住 求大神指导

在VBA中,可以使用WorksheetFunction.CountIf函数来实现单个条件计数。该函数的语法如下:
WorksheetFunction.CountIf(Range, Criteria)
其中,Range参数是要统计的单元格范围,Criteria参数是要统计的条件。例如,要统计A1:A10中值等于“Apple”的单元格,可以使用以下语句:
WorksheetFunction.CountIf(Range("A1:A10"), "Apple")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-21
你可以使用 VBA 中的代码来实现单个条件计数。具体来说,可以使用以下代码:
Sub CountValues()
Dim valueToCount As Integer

Dim count As Integer
Dim lastRow As Long

valueToCount = 2063 ' 需要计数的数值
lastRow = Range("I" & Rows.Count).End(xlUp).Row ' 获取最后一行

For i = 1 To lastRow
If Cells(i, 9).Value = valueToCount Then ' 判断单元格是否为需要计数的数值
count = count + 1 ' 计数器加 1
End If
Next i

Range("N1").Value = count ' 将计数器的值写入 N 列第一行
End Sub
这段代码将会循环遍历 i 列中的每一个单元格,如果单元格的值等于需要计数的数值,就将计数器加 1。最终,计数器的值将会被写入 N 列的第一行。你可以将上述代码复制到 VBA 编辑器中,并根据需要修改需要计数的数值以及单元格的范围。
第2个回答  2023-02-21
在 VBA 中实现单个条件计数,可以使用如下的代码:
VBACopy codeDim iCount As Integer
Dim i As Integer

iCount = 0

For i = 1 To Range("A1:A10").Count
If Range("A" & i).Value = "条件" Then
iCount = iCount + 1
End If
Next i

MsgBox "符合条件的数量为:" & iCount

上述代码的意思是,从单元格 A1 到 A10 中,查找符合条件的单元格,并将数量存储在 iCount 中。最后弹出一个对话框,显示符合条件的数量。
你需要将代码中的 "条件" 替换为你要查找的条件,将 Range("A1:A10") 替换为你要查找的单元格范围。
这是一个简单的示例,你可以根据具体需求进行修改。追问

缺失语句结束是什么情况?

本回答被提问者采纳
相似回答