作者:绿色风
分类:
时间:2022-08-18
浏览:310
楼主 kevinchengcw |
要求: 1. 用一句VBA代码取得工作表有数据区域的最后一行的行号。 2. 可以通过本测试所提供的附件的测试得到正确结果。 3. 用With ... End With语句不算行数,只以With语句中间的代码行数计算。
答题期限:15天(2月18日开帖)
正确答案可获5个技能分,第一个正确答案可得到额外的5个魅力值。
开帖:2011.2.20
参考答案:- Sub test() '一句代码
- MsgBox ActiveSheet.UsedRange.SpecialCells(2, 23).Areas(ActiveSheet.UsedRange.SpecialCells(2, 23).Areas.Count).Row + ActiveSheet.UsedRange.SpecialCells(2, 23).Areas(ActiveSheet.UsedRange.SpecialCells(2, 23).Areas.Count).Rows.Count - 1
- End Sub
- Sub test2() 'with语句写法
- With ActiveSheet.UsedRange.SpecialCells(2, 23)
- MsgBox .Areas(.Areas.Count).Row + .Areas(.Areas.Count).Rows.Count - 1
- End With
- End Sub
实现方法:查找使用区域有数据单元格会将单元格分成若干区域,查找最后区域的起始行号加行数减1即为最后数据行号。 测试文件.rar |
2楼 pzh130 |
MsgBox "最后一行号是:" & Cells.Find("*", _ SearchOrder:=xlByRows, LookIn:=xlValues, _ SearchDirection:=xlPrevious).EntireRow.Row
MsgBox Split(Intersect([A:A], Cells.SpecialCells(xlCellTypeConstants).EntireRow).EntireRow.Address, "$") _ (UBound(Split(Intersect([A:A], Cells.SpecialCells(xlCellTypeConstants).EntireRow).EntireRow.Address, "$"))) |
3楼 初学者2012 |
学习了** |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一