在excel中用VBA如何实现对非空单元格行数的统计。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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追问
你好,看得懂这句是什么意思吗?Debug.Print Sheet3.UsedRange.Rows.Count
追答Sheet3.UsedRange.Rows.Count是统计表单Sheet3已使用区域的行数
如果在一个全空的表单Sheet3第6行和第8行的任意列输入任意值
Sheet3.UsedRange.Rows.Count会返回3,因为第7行属于已使用区域,即使第7行全空,也会统计到已用区域的行数中去。
Debug.Print是调试命令,它返回的值在立即窗口显示
Debug.Print Sheet3.UsedRange.Rows.Count的意思是在立即窗口显示表单Sheet3已使用区域的行数。
“运行时弹出对话框,要求对象?”是因为你的宏过程里出现了“箱单.Select”
如果“箱单”是表单的名称,应该改为Sheets("箱单").Select
现在我明白了,经过使用,你的代码是可行的,真是谢谢了。还有就是一张全空的表单,在立即窗口居然出现31,也就是说使用行数是31?不知道是为什么?我的理解应该是0才对。
参考技术A Sheet3.SelectDebug.Print Sheet3.UsedRange.Rows.Count追问
请问如果我想把值赋给一个变量,可以做到吗
追答你把这个值赋给变量就行了啊。也可以直接使用
追问Sub 统计非空单元格()
箱单.Select
Debug.Print Sheet3.UsedRange.Rows.Count
End Sub
运行时弹出对话框,要求对象?
VBA你一点不懂?
vba excel怎么获取指定工作表的行数、列数
excel获取指定工作表的行数、列数的具体操作方法如下:
1.首先,打开Excel软件
2.打开源数据文件,假如需要根据证券代码显示出行业名称。现在,在I1单元格输入”证券代码“,在J1单元格输入”Nnindnme"。
3.如图,选中J2单元格,单击工具栏中的"插入函数“
4.弹出”插入函数“对话框,选择插入IF函数
5.在弹出的”函数参数“对话框中,设置Logical_test参数为”I2=“”,将Value_if_true设置为“”,在Value_if_false参数框中输入“VLOOKUP(I2,A2:B2846,2),然后点击确定
参考技术A 当前工作表总行数k=activesheet.usedrange.rows.count
指定sheet1工作表总列数
j=sheets("sheet1").usedrange.columns.count
前提是顶部和左侧无空行空列 参考技术B vba 取行数
Sheets(1).[A65536].End(xlUp).Row '''该列最后一行
vba 取列数
Cells(14, 256).End(xlToLeft).Column'''该14行最后一列 参考技术C
列
Sub 列()
a = Columns("C:H").Count 'c:h的长度
b = Cells(1, Columns.Count).Address '列的最大值
c = Cells(1, Columns.Count).End(xlToLeft).Column '有效列(包含空值)
d = ActiveSheet.UsedRange.Columns.Count '有效列(包含空值)
f = Application.CountA(ActiveSheet.Range("1:1")) '有效列(到空值停止)
n = 12
g = Range(Chr(65 + n) & "1").Address '求第12列
End Sub
2.行
Sub 行()
a = Cells(Rows.Count, 1).Address '行的最大值
b = Cells(Rows.Count, 1).End(xlUp).Row '有效行(包含空值)
c = ActiveSheet.UsedRange.Rows.Count '有效行(包含空值)
d = Application.CountA(ActiveSheet.Range("a:a")) '有效行(到空值停止)
End Sub
以上是关于在excel中用VBA如何实现对非空单元格行数的统计。的主要内容,如果未能解决你的问题,请参考以下文章