(转贴)用VBA得到EXCEL表格中的行数和列数
<script type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
?
http://www.okexcel.com.cn/bbs/viewthread.php?tid=26
用VBA得到EXCEL表格中的行數(shù)和列數(shù)
每種方法中上面的是Excel 的行數(shù),下面的是Excel 的列數(shù)。
方法1:
ActiveSheet.UsedRange.Rows.Count? ?
ActiveSheet.UsedRange.Columns.Count
? ?? ? 缺點(diǎn):有時可能會比實(shí)際數(shù)大一些,原因是如果你把最后幾行(列)數(shù)據(jù) 清除后(非整行或整列刪除),用這個命令仍返回未清除前的值。就是說現(xiàn)在雖然是空的,但是你曾經(jīng)用過也算你的。
方法2:
ActiveSheet.Range("A65535").End(xlUp).Row
ActiveSheet.Range("IV1").End(xlToLeft).Column
可以簡寫為:
ActiveSheet.[A65536].End(xlUp).Row
ActiveSheet.[IV1].End(xlToLeft).Column
? ?? ?缺點(diǎn):只能計算出一列(行)的最后一個單元格 所在的行(列)數(shù)。本例是只返回A列最后一個單元格 所占的行數(shù)。
方法3:
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
缺點(diǎn):在工作表進(jìn)行對刪除或清除操作時也會變得比實(shí)際情況大。
方法4:
ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
缺點(diǎn):在工作表進(jìn)行對刪除或清除操作時也會變得比實(shí)際情況大。
方法5:
Application.CountA(ActiveSheet.Range("A:A"))
Application.CountA(ActiveSheet.Range("1:1"))
只能統(tǒng)計一列(行)的實(shí)際使用情況,得到的不一定是最后一行 (列)的位置 。方法2的數(shù)值比此方法大時,說明在A列的數(shù)據(jù)間有空白未填寫的單元格。
方法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="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
總結(jié)
以上是生活随笔為你收集整理的(转贴)用VBA得到EXCEL表格中的行数和列数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统实验八-文件结构
- 下一篇: 【2016年第4期】《欧盟数据保护通用条