www.whkt.net > EXCEL vBA 统计非空单元格数量

EXCEL vBA 统计非空单元格数量

最好用工作表函数 Sub 统计非空单元格() x = 0 For Each l In Rows x = x + IIf(WorksheetFunction.CountA(l) > 0, 1, 0) Next l MsgBox x End Sub

Sub x() [C1] = Application.WorksheetFunction.CountA(Range("A1:B10"))End Sub

=counta(A2:K7) A2:K7是范围,你自己看着改

=COUNTA(A1:A6),A到A6有几个非空白单元格.=COUNTIF(A1:A6,""),可以统计A1到A6里有几个空白单元格. 帮你做了,修改了表头格式,用了一个SUMIF,另一个用的是SUMPRODUCT,你可以自己按F1看看帮助,很好的.

sub aa()dim i as integeri=application.worksheetfunction.counta(a:a)msgbox iend sub

假设这三列数据是在A,B,C三列则公式62616964757a686964616fe59b9ee7ad9431333431353964为=COUNTIF(A:C,"√")如果使用的"√"号不同请自已修正一下公式中引用的勾号 COUNTIF 计算区域中满足给定条件的单元格的个数.

=SUMPRODUCT((MOD(ROW(A1:A40),4)=1)*(MOD(COLUMN(A1:M1),2)=1)*(ISBLANK(A1:M40)))------------------------------------------Sumproduct 是可引用数组的函数, 求积和在sumproduct内设三个条件条件1是用mod判断(行号), 步长为4条件2

用COUNTA函数比如,数据区域,A1:A8在B1输入公式:=COUNTA(A1:A8)如下图所示.

假设某一区域是A1:D10,填充的内容是"特定内容",如下图:则VBA代码如下.Sub MyMacro() Dim Rng As Range, c As Range, n As Long Set Rng = Range("A1:D10") Set c = Rng.SpecialCells(xlCellTypeBlanks) n = c.Cells.Count c.Value = "特定内容" MsgBox "空白单元格的数量是" & n & "个"End Sub如下图,运行后会弹出一个对话框说明空白单元格数据,并填充特定内容,结果如下图:

统计每个sheet的非空白行数可以用count()函数来实现.

网站地图

All rights reserved Powered by www.whkt.net

copyright ©right 2010-2021。
www.whkt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com