多谢
------解决方案--------------------------------------------------------
'返回列中非空单元格的个数
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])