Excel VBA获取最后一行列
来源:互联网 发布:java预处理指令 编辑:程序博客网 时间:2024/05/22 13:06
测试excel文件:
VBA代码:
Function getLastRow()
Debug.Print "End(xlUp):" & Sheets(1).[A65536].End(xlUp).Row
Debug.Print "usedRange:" & ActiveSheet.UsedRange.Rows.Count
Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
End Function
运行结果:
End(xlUp):9
usedRange:16
find * :10
xlCellTypeLastCell: 16
结论(几种方式的比较):
方法1:ActiveSheet.Range("A65535").End(xlUp).Row
1. 只能取得对应列的最后一行(本例是A列)。
2. 高低版本不兼容,2007版最大行数增加以后,就不能用65536了,而要用1048576。
可以先判断再决定用哪个数字,即用下列语句代替原来的一句,假定文件名变量为rptfile:
If Right(rptfile, 3) = "xls" Then
maxrow = [A65536].End(xlUp).Row
Else
maxrow = [A1048576].End(xlUp).Row
End If
方法2:ActiveSheet.UsedRange.Rows.Count
1. 即使行仅仅设置了格式,没有内容,也被算成最后一行。
2. 在工作表进行对删除或清除操作时也会变得比实际情况大。
方法3:ActiveSheet.Cells.Find
1. 只计算有内容的行,没有格式的行不计算。
方法4:ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
效果同方法2。
获取最后一行/列代码示例:
Function getLastRow()
Debug.Print "End(xlUp):" & Sheets(1).[A65536].End(xlUp).Row
Debug.Print "usedRange:" & ActiveSheet.UsedRange.Rows.Count
Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
End Function
Function getLastCol()
Debug.Print "End(xlToLeft):" & ActiveSheet.Range("IV1").End(xlToLeft).Column
Debug.Print "usedRange:" & ActiveSheet.UsedRange.Columns.Count
Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
End Function
- Excel VBA获取最后一行列
- Excel VBA求某列最后一行非空行号
- VBA获取excel行和列
- excel 获取最后一列的列名
- 显示excel最后一行
- VBA Excel 列拆分
- 删除excel最后一行数据
- excel引用最后一行一列
- excel如何判断最后一行
- EXCEL VBA获取IP
- VBA excel显示列号
- [VBA]探讨在工作表中找到最后一行
- 如何确定excel中的最后一行行号
- excel中自动填充到最后一行
- EXCEL函数定位到最后一行
- VBA - 设置EXCEL列名为数字
- 使用VBA在Excel中分列
- Excel VBA 列名列标转换函数
- 3d打印(3):购买3d打印机,组装打印
- NOI题库2.4 1788 Pell数组
- 根据给定的字节长度截取字符串
- 那几个月在找工作(百度、网易游戏等)
- 被风吹了这么些年,为什么物联网一直不在风口上?(一)
- Excel VBA获取最后一行列
- 网络图片查看器(子线程与消息传递)
- HDOJ 题目2852 KiKi's K-Number(线段树求大于a的第k值)
- 枚举类型的作用
- NOSQL的类型及其特点
- 客户端用HttpURLConnection向php服务器上传图片
- poj2342 Anniversary party(树形dp)
- 希尔排序
- 关于Fragment懒加载的学习和使用+参数传递的方法