zoukankan      html  css  js  c++  java
  • 用VBA得到EXCEL表格中的行数和列数

    用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列最后一个单元格所占的行数。
          注意:这种方法返回工作表中最后一个包含非空内容的单元格所在的行号,而不管这一单元格与Me.Cells(1,1)之间是否有包含空白内容的单元格。而且这一方法将跳过或者说忽略被隐藏的单元格,比如,数据表有连续的50行,如果第48到50行隐藏了,则只返回47。此外,65536是2003版工作表最大可用行数(2003版 65536行、256列 ,2007版 1048576行、16384列),2007版就应该写成ActiveSheet.[A1048576].End(xlUp).Row。除了上面两种写法,还可以写成ActiveSheet.Cells(1048576, 1).End(xlUp).Row。

    方法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。
  • 相关阅读:
    896. Monotonic Array单调数组
    865. Smallest Subtree with all the Deepest Nodes 有最深节点的最小子树
    489. Robot Room Cleaner扫地机器人
    JavaFX
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
  • 原文地址:https://www.cnblogs.com/lnd-blog/p/12509397.html
Copyright © 2011-2022 走看看