VBA学习笔记之End属性&查找最后的单元格方法总结

‘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这两个方法

时间: 2024-08-28 17:59:22

VBA学习笔记之End属性&查找最后的单元格方法总结的相关文章

VBA学习笔记之VBA学习思路

进阶的知识点 1. SQL查询语句和ADO2. 正则表达式和网抓3. 窗体与控件4. API 类模块 等等 作者:SOROSay链接:https://www.zhihu.com/question/26078625/answer/132542043来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1小时 熟悉数据类型.变量.常量和运算符 1.了解VBA有哪些数据类型 2.知道如何定义变量,了解public/dim/private定义变量时的区别 3.知道如何定义常量

Swift学习笔记十:属性

1.存储属性       1. 作为特定类或结构实例的一部分,存储属性存储着常量或者变量的值.存储属性可分为变量存储属性(关键字var描述)和常量存储属性(关键字let描述). struct student{ let name = "" var score = 0 } let a = student(name:"小笨狼",score:96)           注意:                ① 定义储存属性时,需要为每一个属性定义一个默认值.在初始化的时候,

VBA学习笔记之利用查找颜色拾取进行颜色汇总

教程代码: 1 Sub 根据查找功能拾取的颜色求平均() 2 On Error GoTo 100 3 Dim erng As Range, rng As Range, i As Long 4 i = Application.FindFormat.Interior.Color 5 Set erng = Cells(Rows.Count, "e").End(xlUp) 6 For Each rng In Range([b2], erng) 7 If rng.Interior.Color =

VBA学习笔记之Range.Offset属性

'Range.Offset 属性'返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域.'表达式.Offset(偏移行, 偏移列)'表达式 一个代表 Range 对象的变量.'偏移行列的数字可以是:正数,负数,零值 1 Sub test() 2 [a1].Offset(1, 2).Select '行列都偏移 3 [a1].Offset(2).Select '只偏移行 4 [a1].Offset(, 2).Select '只偏移列 5 6 '如果offset前面的range对

VBA学习笔记之Range.Resize属性

'Range.Resize 属性'调整指定区域的大小.返回 Range 对象,该对象代表调整后的区域.'语法'表达式.Resize(行数, 列数)'表达式 一个返回 Range 对象的表达式. 1 Sub test() 2 [a1].Resize(2, 3).Select 3 [a1].Resize(2).Select 4 [a1].Resize(, 3).Select 5 End Sub 注意:Resize是Range本身开始从"1"算起的,[a1].resize(1,1); 但是O

web前端学习笔记:文本属性

今天的web前端笔记主要讲述文本属性,希望能帮助到正在学习web前端开发的初学者们,废话不多说了,一起来看看文本属性的相关内容吧. 文本属性 文本缩进 将Web页面上的一个段落第一行缩进,这是一种最常用的文本格式化效果.有的网站在段落的第一个字母前放一个很小的透明图像,这些图像将文本推到后面来制造一种缩进文本的感觉.另外一些网站则使用完全标准的空格(spacer)标记.而在CSS中有一种更好地方法实现文本缩进.那就是text-indent属性. 通过使用text-indent属性,所有元素的第一

Java程序员的JavaScript学习笔记(2——属性复制和继承)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. this/闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第2篇,聊聊属性复制和继承的事情.非常基础,同样,也非常重要. 一切皆

CSS学习笔记——定位position属性的学习

今天学习之前剩下的一个问题:CSS的position属性.首先归纳出和position相关的问题: position作为一个属性,它一共有哪几个属性值? position常用的属性值有哪几个?分别有什么特点? 第一个问题:position作为一个属性,它一共有哪几个属性值? 对于position属性,他一共有5个值,分别是 static:默认值.没有定位,元素出现在正常的流中. relative:生成相对定位的元素,相对于其正常位置进行定位.正常位置也就是指如果没有position属性它会出现的

linux c学习笔记----互斥锁属性

转自:http://lobert.iteye.com/blog/1762844 互斥锁属性 使用互斥锁(互斥)可以使线程按顺序执行.通常,互斥锁通过确保一次只有一个线程执行代码的临界段来同步多个线程.互斥锁还可以保护单线程代码. 要更改缺省的互斥锁属性,可以对属性对象进行声明和初始化.通常,互斥锁属性会设置在应用程序开头的某个位置,以便可以快速查找和轻松修改.表 4–1 列出了用来处理互斥锁属性的函数. 表 4–1 互斥锁属性例程 操作 相关函数说明 初始化互斥锁属性对象 pthread_mut