分享

End属性&查找最后的单元格方法总结

 青山孤松 2018-08-29

'Range.End 属性
'返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。
'等同于按键 (End+向上键、End+向下键、End+向左键、End+向右键),或者CTRL+上下左右

'语法
'表达式.End (Direction)
'表达式 一个代表 Range 对象的变量。
'方向 写法 值
'向上 xlUp - 4162
'向下 xlDown - 4121
'向左 xlToLeft - 4159
'向右 xlToRight - 416

复制代码
 1 Sub 分期付款最后月自己写()
 2 num = Application.CountA(Columns(1))
 3 '上一句等效于这句:
 4 'i = Cells(Rows.Count, 1).End(xlUp).Row '找到A列的最后一行的行号(先在A列最后一个单元格向上跳转)
 5 Range("n2", Cells(num, "n")).Clear
 6 'Range("n2", Cells(i, "n")) = "" '将最后付款月下的区域清空,同上语句,但是没有清空单元格边框
 7 For i = 2 To num
 8     a = Cells(i, 1).End(xlToRight).Column
 9     Cells(i, "n") = Cells(1, a).Value
10     Next
11 End Sub
复制代码


 

复制代码
1 Sub 最后的单元格()
2 a = Cells(Rows.Count, 1).End(xlUp).Row 'end属性
3 b = Columns(1).Find("*", , , , , xlPrevious).Row 'find方法
4 c = Cells.SpecialCells(xlCellTypeLastCell).Row 'specialcells方法
5 d = Sheet1.UsedRange.Rows.Count 'usedrange属性
6 e = [a1].CurrentRegion.Rows.Count 'currentregion属性
7 f = WorksheetFunction.CountA([a:a]) '工作表函数counta
8 g = Application.CountIf([a:a], "<>") '工作表函数countif
9 End Sub
复制代码

    

注意上面“e、f、g”的差别,这表明:CountA是计算非空单元格的个数,上面的CountIf作用同理,CurrentRegion则是"扩展"

个人建议:具体情况具体分析吧~本人倾向于UsedRange.Rows.CountCountA这两个方法

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多