300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > (转贴)用VBA得到EXCEL表格中的行数和列数

(转贴)用VBA得到EXCEL表格中的行数和列数

时间:2018-11-18 08:08:56

相关推荐

(转贴)用VBA得到EXCEL表格中的行数和列数

<script type="text/javascript"></script> <script src="/pagead/show_ads.js" type="text/javascript"></script>

/bbs/viewthread.php?tid=26

用VBA得到EXCEL表格中的行数和列数

每种方法中上面的是Excel 的行数,下面的是Excel 的列数。

方法1:

ActiveSheet.UsedRange.Rows.Count

ActiveSheet.UsedRange.Columns.Count

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

方法2:

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

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

可以简写为:

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

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

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

方法3:

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

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

方法4:

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

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

方法5:

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

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

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

方法6:

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。

<script type="text/javascript"></script> <script src="/pagead/show_ads.js" type="text/javascript"></script>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。