2025-11-20 06:49:35
首先看步骤,先选单元格,比如A1,再用Rows.Count属性算总行数,然后判断类型,用IsNull或IsNumeric。比如A1到A10有数据,算出来就是10行,如果A列全空就返回0。这跟Excel自带公式类似,但VBA更灵活。
为啥这样算呢?因为VBA的Range对象自带行数统计功能,但需要排除空单元格。比如Sheet1的A列有10行数据B列有5行C列空着,用代码处理的话,A列会返回10,B列5,C列0。这里用Type判断是因为有些单元格可能同时是空值和文本,比如A11输入了空格,用Rows.Count会算成1行,但实际没数据。测试过数据:A列1-10有数值,11-20空,B列1-5有文本,6-20空,结果A列10行B列5行C列0行。所以得先判断类型再计数,避免统计错误。代码得用With语句简化,比如With ActiveSheet Range("A1:A100").Rows.Count,这样效率更高。
本题链接: