首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 办公应用 > OFFICE教程 >

请问怎么在vba中获得某列非空单元格总数

2012-02-11 
请教如何在vba中获得某列非空单元格总数多谢[解决办法] 返回列中非空单元格的个数Function UNEMPTYCOLUMN(

请教如何在vba中获得某列非空单元格总数
多谢

[解决办法]
'返回列中非空单元格的个数
Function UNEMPTYCOLUMN(rng)
Dim CCount As Integer
Application.Volatile
CCount = 0
Set rng = Intersect(rng.Parent.UsedRange, rng)
For Each cell In rng
If Not IsEmpty(cell) Then
CCount = CCount + 1
End If
Next
UNEMPTYCOLUMN = CCount
End Function
[解决办法]
用内置的函数 COUNTA 应该是最高效的.

如果要用vba,在vba中直接用工作表函数,也比循环遍历效率高很多。

例如,下面的语句统计A列非空单元格数目,并将结果存放在B1单元格.

[B1] = WorksheetFunction.CountA([A:A])

热点排行