本期我们将认识VBA的核心对象Range,它在Worksheet对象中代表单元格区域,它可以是单个、多个甚至可以跨工作表组成,该区域可以是连续的也可以是非连续的,非常强大。
在编程过程中,我们经常需要选中或者定位目标单元格,这是我们可以使用Range对象。
Range对象有庞大的属性成员,下面列出常用的属性:
Range:该属性会返回活动工作表上的一个区域
ActiveCell:激活单元格
Offset:该属性从一个Range移动到另一个Range非常有用。
End:End属性所代表的操作等价于“Ctrl 方向箭”的操作,使用常量xlUp、xlDown、xlToLeft和xlToRight分别代表上、下、左、右箭头
Column和Row:Columns和Rows属性分别返回单元格区域中的所有列和所有行
Style:该属性设置Range的格式,设置单元格格式为常规、数值等
Value:返回Range的数值
UsedRange:引用当前工作表中已使用的区域
CurrentRegion:该属性可以选取当前单元格所在区域,即周围是空行和空列所围成的矩形区域
UsedRange和CurrentRegion的不同:
currentRegion是连续单元格组成的矩形区域
usedrange是当前工作表已经使用的单元格组成的矩形区域
Select :选择一个Range
SortSpecial:SortSpecial方法可以对单元格区域或透视表进行排序
Selection:所选内容包含在与 Range 参数指定的范围内
Union:连接区域不连续的多个单元格区域,可以提示进行操作。
Activate:激活一个Range
SpecialCells:可以返回一个对象代表与指定类型和值匹配的所有单元格,对应于“定位条件”对话框
上面列出Range的部分属性和方法,Range对象是ExcelVBA重要模块,在未来的几期我会陆续详细介绍他这些属性和方法的使用规则,请大家保持好学习状态。
1Sub Rg()
2 Range('A1').Select '选中当前活动工作表的A1单元格
3 Range('A1:A15').Select '选中当前活动工作表的A1:A5区域
4 Range('B6,D8,C7').Select '选中不连续的单元格
5 Range('A1,B1:B10,c10').Select '选中不连续的单元格
6 Range('A:A,C:C,E:F').Select '选中相邻的多列
7 Range('1:1,5:6,9:9').Select '选中相邻的多行
8 Range('A1:A24').Value = 100 '在A1至A24单元格中输入数值100
9 Range('A1', Range('A1').End(xlDown)).Select '向下选择A列非空格单元格
10 Range('A24', Range('A24').End(xlUp)).Select '向上选择A列非空格单元格
11 End Sub
设置单元格区域格式
如表1,下面的表格没有格式,现在要为表格添加边框、填充颜色,设置字体,当然这些用Excel操作更简单,不过我们也可以了解VBA是怎么工作的。
代码如下:
1Sub Format()
2Dim FM As Range
3Dim f1 As Range
4'添加表头
5Rows(1).Insert shift:=xlUp '添加表头行
6Range('A1:f1').Merge '合并单元格
7Range('A1').Value = '2月销售业绩表' '表头名称
8'设置【表头和标题行】字体格式
9Set f1 = Range('A1:F2')
10 With f1
11 .Font.Name = '微软雅黑' '设置字体
12 .Font.Size = 13 '字体大小
13 .Font.Bold = True '字体加粗
14 .Interior.ColorIndex = 24 '设置背景颜色
15 End With
16'给表格增加边框
17Set FM = Range('A1:F13')
18 With FM
19 .Borders.LineStyle = xlContinuous '边框设置
20 .Borders.ColorIndex = xlAutomatic '颜色设置
21 .Borders.Weight = xlThin'边框粗细选择
22 .Columns.AutoFit '调整列宽
23 .HorizontalAlignment = xlCenter '字体居中
24 End With
25End Sub
运行代码后表格得到美化:
在电脑里颜色是有数值代表的,下面这张图是Excel2003默认颜色对照表,分享给大家方便写颜色的时候查询。
第一次看到Range这个词,你想到什么呢?开车的朋友很熟悉下面的图片吧!
本期的分享就这么多,亲们要动手敲敲代码,才能有感觉哦!
联系客服