在学习Excel VBA的过程中,我们大多数人接触的和使用最多的就是单元格或者单元格区域,因为我们对Excel表格的数据进行分析,离不开对单元格的存储的数据进行分析处理的过程,所以就很有必要理解这个单元格的基础概念,为以后的学习打下坚实的基础。
我们首先来一起看看微软MDNS上对range的属性的解释:
以上备注可以看出来,range的属性有4个,我们可以利用这些属性来操作或者控制单元格通过VBA来处理工作表。
1、Range对象的属性可以返回一个range对象。我们看看如下的例子:
下例将单元格 A2 的值赋给单元格 A5,代码是这么样写的。
总的来说range的属性通常在worksheet和range对象上面使用。如下一个例子:
Worksheets("sheet1").Range("a1").Value = 55
这句话的意思可以理解为,给我们工作表的名称为sheet1的工作表的A1单元格赋值为55。这个我们也是给某一个单元格赋值,经常可以用的知识点;
加入我们在某个时候,突然奇思妙想的对我们单元格A1进行赋值,那么我们的代码可以改成:
st = "a1"
Worksheets("sheet1").Range(st).Value = 55
不知道你有没理解这个的使用方法:
2、你可不要误解我们range对象只能操作一个单元格哦,其实他可以操作的单元格区域是很大的。
假如我们要在单元格A1:B10区域输入100,那么我们的代码是应该如何去写呢?
以下三种代码写法是都可以在A1:B10单元格区域统一输入100的,小伙伴们可以试试看。
Range("a1:b10") = 100 ‘’这种方法使我们最常用的写法
Range("a1", "b10") = 100 ‘’这种方式,在我们需要用变量的时候,用的更多
Range(Cells(1, 1), Cells(10, 2)) = 100,这个是返回的是一个单元格对象。
3、Range对象其实还可以使用多个不相连单元格区域的交集值输入工作。
有兴趣的小伙伴可以试试执行一下这个代码的结果:
Range(”C1:C10,A6:E6”)=100
可以看看这个代码执行的结果如下图所示,他们的意思是在他们交集部分输入这个值,就类似我们数学的交集和并集。
4、假如我们需要在B1,B2,B6,B7,B9单元格输入相同的数据,代码应该如何去写最简单呢?
代码可以写成,Range("B1,B2,B6,B7,B9") = 100。
5、range除了向单元格中输入值以外,他还可以写入函数公式哦!
例子:如下图所示,A1=100,B1=100,我们如何在Excel中输入A1+A2呢?
代码如下,Range("c1").Formula = "=a1+b1"
6、用range对象还可以表示某一列或者某一行,那么代码应该如何去写呢?
Range("a:a").Select '表示选择A列
Range("1:1").Select '表示选择第一行
当然range里面的字母或者数字是可以改变的哦,你可以试试呢