有趣生活

当前位置:首页>科技>excelvba获取使用的行列数VBA取得EXCEL表格中数据最大的行数和列数

excelvba获取使用的行列数VBA取得EXCEL表格中数据最大的行数和列数

发布时间:2026-07-21阅读(2)

导读在编写VBA代码的时候,基本上都会有获取某表格数据最大函数或者列数,在VBA中有好几种方式来获取,总结一下,方便初学的孩童们能知道获取的方式。第一种:Act....

在编写VBA代码的时候,基本上都会有获取某表格数据最大函数或者列数,在VBA中有好几种方式来获取,总结一下,方便初学的孩童们能知道获取的方式。

第一种:

ActiveSheet.UsedRange.Rows.Count

ActiveSheet.UsedRange.Columns.Count

缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除),用这个命令仍返回未清除前的值。就是说现在虽然是空的,但是你曾经用过也算你的。

第二种:

ActiveSheet.Range("A65535").End(xlUp).Row

ActiveSheet.Range("IV1").End(xlToLeft).Column

可以简写为:

ActiveSheet.[A65536].End(xlUp).Row

ActiveSheet.[IV1].End(xlToLeft).Column

缺点:只能计算出一列(行)的最后一个单元格所在的行(列)数。本例是只返回A列最后一个单元格所占的行数。

第三种:

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。

第四种:

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。

第五种:

Application.CountA(ActiveSheet.Range("A:A"))

Application.CountA(ActiveSheet.Range("1:1"))

只能统计一列(行)的实际使用情况,得到的不一定是最后一行(列)的位置。方法2的数值比此方法大时,说明在A列的数据间有空白未填写的单元格。

第六种:

ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

效果同方法2

以上方法中比较常用的是方法1和方法2。

TAGS标签:  excelvba  获取  用的  列数  取得  excelvba获取

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图