![b886572c40da15f594e00be98c877788.png](https://img-blog.csdnimg.cn/img_convert/b886572c40da15f594e00be98c877788.png)
一个顾客点蛋炒饭,厨师需要做一份蛋炒饭。
而当多个客人都点蛋炒饭时,厨师就同时炒多份蛋炒饭。
在上节中,我们学习的Cell单元格,是对每一个单元格进行操作,相当于就是厨师得单独给一个顾客做蛋炒饭。
而我们今天要学习的Range对象就相当于厨师可以多份蛋炒饭一起炒,效率更高。
Range对象指的就是单元格区域,由1个或多个Cell组成。
今天我们就给大家介绍与Range相关的5个知识:①Copy方法②Clear方法③End属性④offset属性⑤row/column属性
一、如何找到Range对象?
首先给大家介绍下Range常用的表示方法。
第一种简便的写法为:Range("A1") 意思是A1单元格
另一种更常用的写法为:Range("A1:D10") 意思是单元格A1到单元格D10的一个单元格区域。
进入VBE界面,在代码窗口中输入Range.() ,可以查看Range对象的属性和方法。
![eaa53c348478d9585257103bad29259e.png](https://img-blog.csdnimg.cn/img_convert/eaa53c348478d9585257103bad29259e.png)
【小贴示】Range对象默认的属性是Value属性,Range("A1")等同于Range("A1").Value,意思是A1单元格的值。
二、如何重新之前的操作?——Copy方法
当新员工入职时,领导会把工作标准操作流程给到新员工,让他尽快上手。
在VBA中,copy方法就是迅速复制之前的操作过程。
例如 Range("a1").Copy Range("a10") 即复制A1单元格的数据到A10单元格。
具体的实现形式如下:
![cc019d6fb379fbf8dd6ac37811c18f1d.png](https://img-blog.csdnimg.cn/img_convert/cc019d6fb379fbf8dd6ac37811c18f1d.png)
三、怎样清空内容?——Clear方法
Clear方法上次内容讲到过,在Range对象中仍然适用。
Clear方法只清空单元格的内容,不会发生位置移动。
例如 Range("A1:D10").Clear,意思是清空A1:D10单元格内的信息。
具体的实现形式如下:
![5320f7055e9f70be4569cd340f9138af.png](https://img-blog.csdnimg.cn/img_convert/5320f7055e9f70be4569cd340f9138af.png)
四、如何找到单元格区域的最后一行?——End属性
平时我们在洗头时,总是需要将洗发水抹到最边缘的头发,才能将全部头发都洗到。
在Range中,最边缘的位置通过End属性找到。
End属性,指的单元格区域中快速移动,找到单元格区域的首端或尾端的单元格。
最常用的是End(xlUp),表示从当前单元格快速向上移至该单元格上方第一个非空的单元格。
End属性结合循环和判断等语句时,能实现强大的批处理功能。
在下面这篇文章中我们就用到了该属性。
表单太多汇总太累?请看这里,我们带你一键汇总mp.weixin.qq.com![158ac079a31baef13b2be8b66a28962c.png](https://img-blog.csdnimg.cn/img_convert/158ac079a31baef13b2be8b66a28962c.png)
例如,Range("A65536").End(xlUp).Row 表示的是A65536向上第一个非空单元格的行号
具体实现的方式如下:
![b4e6cd1de4d05ae8d3ccf9b542c48c80.png](https://img-blog.csdnimg.cn/img_convert/b4e6cd1de4d05ae8d3ccf9b542c48c80.png)
五、怎样找到当前单元格移动后的位置?——offset属性
在上学时,有时候老师需要换位置时,就对许卤说:"你坐到王阿开后面的位置"。
在VBA中,也有位移属性——offset属性。
通常写作 Offset(i,j)
指的是从当前位置向下移动i单元(i为负数则向上移动),向右移动j单元格(j为负数则向左移动)
Offset属性是一个实用且强大的功能,在Excel中能实现一些复杂的操作。
例如:Range("a5").Offset(1, 2) 的意思就是向下移动1个单元,向右移动2个单元。
具体实现方式如下:
![6acd5cf132f7be7363a751c3ea4ac7dc.png](https://img-blog.csdnimg.cn/img_convert/6acd5cf132f7be7363a751c3ea4ac7dc.png)
六、如何查询单元格区域的行号和列号?——Row/Column属性
在军训时,当教练说“立正,向右看齐”时,我们就会根据第一个人的位置对齐。
Range对象的第一个人对应的位置就是行号和列号。
在此注意:若Range是单元格区域时,对应的Row属性和Column属性都是指的Range区域左上角对应的行号和列号。
Rows_range = Range("A2:C14").Row '输出A2:C14区域的行号
Column_range = Range("A2:C14").Column '输出A2:C14区域的列号
具体实现方式如下:
![c2f45cfecd0a25d30e80e9c289e3e17f.png](https://img-blog.csdnimg.cn/img_convert/c2f45cfecd0a25d30e80e9c289e3e17f.png)
看完三件事:
1.点赞,让更多的人也能看到这篇文章(收藏不点赞,都是耍流氓)
2.关注我和我的专栏,让我们共同成长
3.关注公众号"数据大作手",定期分享数据分析方面的干货
感谢你的支持!