VBA取得EXCEL表格中的行数和列数

请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count"!

初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下。这样可以避免很多的错误,并且可以提高效率。但每次用到的时候到网上查找时,总是给了很多无用的答案,往往找不到想要的结果。笔者也是每次使用时,临时查找总是很头疼。偶然发现一篇博客,上面详细记录了不同的方法,笔者测试了几种发现真的很好用。本着分享万岁的精神,将博客内容共享出来。希望对大家有所帮助。

来源:http://www.okexcel.com.cn/bbs/viewthread.php?tid=26

注:每种方法中上面的是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。

Office EXCEL VBA如何取得EXCEL中的行数和列数相关推荐

  1. 视频教程-EXCEL VBA编程(excel办公高手必经之路)-Office/WPS

    EXCEL VBA编程(excel办公高手必经之路) Office培训讲师,51CTO金牌讲师,从2005开始从事Office培训至今.擅长Excel.Word.PowerPoint等软件的应用,著有 ...

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

    用VBA得到EXCEL表格中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count ActiveShe ...

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

    <script type="text/javascript"></script> <script src="http://pagead2.g ...

  4. 在Excel中固定行标题和列标题

    在Excel中固定行标题和列标题,也就是让第一列或者第一行在滚屏的时候保持不动,方法很简单,如下: 如果想固定第一行,则选定第二行,然后在菜单栏选择,窗口,冻结窗格 如果想固定第一列,则选定第二列,然 ...

  5. Excel VBA读取其它excel单元格内容详细案例

    Excel VBA 读取其它excel单元格内容详细案例 通过一个按钮读取其它excel表格的内容的方法: 创建一个按钮 在excel表单插入按钮,进入design mode后双击按钮进入宏程序编辑 ...

  6. 关于Excel的最大行数和列数。

    Excel的行数和列数数不是无限大的,在2003中,行数最大为65536,列数是256(IV). 在2007中,这个数字会大很多,有100多万行,列也应该是1万多. 2007中,行数为1048576. ...

  7. pandas读取excel文档,每列标题及标题下的内容,总行数,总列数

    pandas读取excel文档,每列标题及标题下的内容,总行数,总列数 import pandas'''''' # file_path为excel的文件路径 def read_excel(file_p ...

  8. Excel收纳箱:返回选中区域的行数和列数

    今天小编要和大家分享的是,Exce收纳箱:VBA操作返回选中区域的行数和列数 (方方格子插件) 1.动图演示 2.选择diy工具箱 3.选择收纳箱命令按钮 ​ 4.选择本地新建命令 5.弹出对话框在代 ...

  9. excel2010设置列宽为像素_Excel2010中调整行高和列宽的方法

    Excel2010的默认情况下,Excel中所有行的高度和所有列的宽度都是相等的.可以利用鼠标拖动方式和"格式"列表中的命令来调整Excel的行高和列宽. 1.鼠标拖动法 在对行高 ...

最新文章

  1. linux命令:fsck
  2. 把Sublime Text 2打造成一个轻量级Python的IDE
  3. ASP.NET Core 中间件
  4. 大数据_Flink_流式处理_简介_流数据处理的应用行业---Flink工作笔记0003
  5. 中国抗衰老护肤品市场趋势报告、技术动态创新及市场预测
  6. iOS项目更新之升级Xcode7 iOS9
  7. Fluent.TGrid.v4.0.16
  8. 发布一款小软件:和讯博客助手-测试版- 0.3.0
  9. 计算机进入vga模式,VGA模式是什么,怎么进入VGA模式
  10. MP4文件格式详解——元数据moov(一)mvhd box
  11. Windows10使用浏览器崩溃复现及分析
  12. PPT制作心得与感悟
  13. Abnova 6-酮-PGF1-α ELISA 试剂盒说明书
  14. BlueTooth: 蓝牙技术入门者指南
  15. unity3d 中控制手机前后摄像头切换
  16. 网件4300_如何重命名Netgear Arlo相机
  17. 【Pytorch】常见的人脸身份识别损失函数
  18. 2020全球专利企业50强: 华为第9,IBM第1
  19. 逃离塔克夫离线TT辅助
  20. 装修小常识(200条)

热门文章

  1. linux 社交软件_Linux和创客空间如何增强我们的社交结构
  2. 2020,XLNet: Generalized Autoregressive Pretraining for Language Understanding
  3. 企业账号第二次被封Action Required: Your Apple Developer Enterprise Program membership has been locked
  4. python wxpy模块,python wxpy模块 (一)简单上手
  5. 数学基础从高一开始6、全称量词与存在量词
  6. 英文版编程入门教程推荐(C#/C++/C/Java/Python/Swift等)
  7. xshell7 无法启动
  8. 基于Python的网络拓扑图绘制
  9. 什么是公有云、私有云和混合云?
  10. 人脸识别签到 电子班牌加速校园智慧化进程