‘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.Count和CountA这两个方法
时间: 2024-11-05 19:26:45