在EXCEL中,我们无论怎么去处理数据,最后都离不开单元格,那么作为最常用的对象Range,我们肯定少不了接触关于他的方法和属性。今天来给大家介绍几个Range对象常用的方法属性。不懂什么是方法和属性的,戳链接了解:【VBA】浅谈对象、方法、属性
Value 值
它是Range的一个默认属性,通常我们给它赋值时,不需要写出他的属性,默认就是赋值,如,我给A1单元格赋值"sheet1",我们可以用如下方法表示。
range("A1").Value="sheet1"
或如下方法表示
range("A1")="sheet1"
如下动图,我分别用两种方式给A1和A2单元格赋值:
两种方式都不会出错,但我们将其作为参数传递时,不加上他的属性,就可能出错,如,我要选中工作表的名字和A1单元格名字相同的工作表,就必须将属性写完全。
sheets(range("A1")).select 错误写法
sheets(range("A1").value).select 正确写法
如下动图:
因此,在使用Value属性时,虽然有时候能省略,但是不建议省略。养成一个好习惯。
Select 选中
Activate 活动的
我为什么要讲这两个放一起说呢,因为他两有一些相似之处,但又不完全相同,有些区别。
如:我想要将A1单元格选中,我们可以这么表示
Range("A1").Select
也可以这么表示
Range("A1").Activate
如下动图:
但是如果是要选中多个区域,如选中A1:A6
我们可以用如下表达方式
range("A1:A6").select
如果此时A1不是选择状态,我们也可以用
range("A1:A6").Activate
但如果A1单元格是选择状态的,我们这么运行就达不到我们想要的效果。那么我们原先选择的是什么区域,他就还是选择什么区域,只是被选中的单元格变成了左上角第一个单元格。
我们可以看到,在我们使用Activate的时候,第一次没有选中A1单元格时,我们用range("A1:A6").Activate,选中了A1:A6单元格,第二次将A1改为A2时,运行代码,A1并没有被取消选中,还是选中的A1:A6,只是把活动单元格从A1变成了A2。不知道你们理解了没有,不理解的自己动手试试吧。
Copy 复制 Paste 粘贴 PasteSpecial 选择性粘贴 Copy与Paste方法,对应我们操作时的复制粘贴。在VBA里,对于Copy来说。他不用Paste,也能完成我们的粘贴。因为他自带一个参数(目的地),我们只需指定参数,他就粘贴过去了,所以对于单独的单元格来说,他没有单独的Paste方法,但是可以借助工作表的Paste方法。本文给大家讲讲两种方法的用法 如:我要将A1:A3单元格的值复制到C1:C3单元格。可用如下方法: range("A1:A3").copy range("C1") 也可用如下方法: Range("A1:A3").Copy Range("C1").Select ActiveSheet.Paste 复制后不指定参数,选中想要粘贴的单元格区域,然后用工作表的Paste方法粘贴过去。 怎么样,Copy方法会用了吗?在日常使用中,如果真的要用Copy,建议直接指定参数将数据粘贴过去,不建议用工作表的Paste方法。但是有人可能会问了,Range对象没有Paste方法,那怎么进行选择性粘贴呢,如,我只想粘贴值过去,或者只想粘贴格式过去?下面来看下一个方法。在我们这个例子中,也可用如下方法将A1:A3复制到C1:C3,用法如下: Range("A1:A3").Copy Range("C1").PasteSpecial 不指定任何参数,默认全部粘贴过去,但有时候,我们要进行选择性粘贴,就要给他指定参数,他一共有四个参数。 分别 对应 选择 性粘贴的四 个部分,如下图 具体参数,在我们需要输入参数的时候会自动显示参数列表,这里就不一一解释参数了,如果书写的时候,实在不知道用哪个参数,可以采用录制宏的方式进行参考。本文就暂时介绍这么几个方法和属性,关于Range对象更多的方法和属性,请继续关注后续文章。