作者:乔山办公网日期:
返回目录:excel表格制作
n = Worksheetfunction.CountA(某工作表.range("A:A"))
Set rng = Union(rng, 某工作表.Rows(p)
改这2句试试。
VBA下COUNTA 函数计算区域中不为空的单百元格的个数。即返回参数列表中非空值的单元格个数。利用函数 COUNTA 可以计算单元格区域或数组中包含数据度的单元格个数。语法为COUNTA(value1, [value2], ...)。
COUNTA 函数语法具有参数:
value1必需参数,知表示要计数的值的第一个参数。
value2, ...可选参数,表示要计数的值的其他参数,最多可包含道 255 个参数。
扩展资料:
COUNTA 函数可对包含任何类型信息的内单元格进行计数,这些信息包括错误值和空文本 ("")。例如,如果区域包含一个返回空字符串的公式,则 COUNTA 函数会将该值计算在内。COUNTA 函数不会对空单元格进行计数。
如果不需要对逻辑值、文本或错误值进行计数,换句话说,只希望对包含数字的单元格进行计数,可以使用 COUNT 函数。如果只希望对符合某容一条件的单元格进行计数,应使用 COUNTIF 函数或 COUNTIFS函数。
比如查知 Sheet2 中道 A 列的非空单版元格数:权
Sub test()
Dim i As Long
i = Application.WorksheetFunction.CountA(Sheets("sheet2").Columns(1))
End Sub
出现这种情copy况,一般有两种可能。1、从网上找的程序,没有把相应的过程或函数一起找来。
2、对子过程(或函数)的定义不一致。
例如:子过程test1做在某个工作表中,设定的是private属性。然后在模块zd中有一个全局程序test要调用其这个子过程,那么就会出现这种错误。更改方法:将这个子过程设置成全局的(public),并放在模块中,这样就可以解决了。