在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.Select
Debug.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如何实现对非空单元格行数的统计。的主要内容,如果未能解决你的问题,请参考以下文章

VBA中如何获取一个表格的行数和列数

怎么用vba在excel中统计每列有多少行数

在EXCEL中用VBA怎样操作WORD文档中嵌入的EXCEL表格?

vba如何读取excel中某单元格的行数或列数

excel vba中将公式转为文本或数值公式

Excel VBA行中的第一个非空单元格