有的时候在操作excel的时候,涉及到循环什么时候结束,就非常需要知道操作区域的最后一行是第几行,或者最后一列是第几列。
因此这边使用下面两个函数,可以比较快速的获取整个区域的行数和列数(不是指定的的区域)
'返回一整个区域的列数
Private Function get_clo_num()
Dim clo_num As Integer
Dim clo_rng As Range
Set clo_rng = Range(Cells(1, 1), Cells(1, 1).End(xlToRight))
'这里用了counta来计算非空单元格的数量
'因此这边选定的range范围是第一行
clo_num = Application.WorksheetFunction.CountA(clo_rng)
get_clo_num = clo_num
End Function
'返回一整个区域的行数(表头已经包括)
Private Function get_row_num()
Dim row_num As Long
Dim row_rng As Range
Set row_rng = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
'这里用了counta来计算非空单元格的数量
'因此这边选定的range范围是第一列
row_num = Application.WorksheetFunction.CountA(row_rng)
get_row_num = row_num
End Function
主要就是使用了CountA来统计非空单元格的数量,然后这边传的参数是一整行或者一整列,计算这行和这列有多少个非空单元格,就知道这个表格的行数和列数了。
网友评论