GIS资讯 GIS技术 GIS产品 GIS书籍 GIS下载 GIS知识 GIS论文 GIS考研 GIS人物 GIS企业 GIS招聘 GPS相关 RS 相关 3D 相关 测绘相关 GIS博客 招标信息
您当前的位置:GIS资讯小组资讯中心GIS论文 → 资讯内容
Google
Excel VBA Range对象基本操作应用示例
作者:佚名  来源:不详  更新时间:2008-1-3 11:21:12

减小字体 增大字体

  

[示例24]改变所选单元格的颜色
Sub ChangeColor()
Dim iro As Integer
MsgBox "将所选单元格的颜色改为红色"
iro = Selection.Interior.ColorIndex
Selection.Interior.ColorIndex = 3
MsgBox "将所选单元格的颜色改为蓝色"
Selection.Interior.Color = RGB(0, 0, 255)
MsgBox "恢复原状"
Selection.Interior.ColorIndex = iro
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[示例25]改变单元格的图案
Sub ChangePattern()
Dim p, pc, i
MsgBox "依Pattern常数值的顺序改变所选单元格的图案"
p = Selection.Interior.Pattern
pc = Selection.Interior.PatternColorIndex
For i = 9 To 16
With Selection.Interior
.Pattern = i
.PatternColor = RGB(255, 0, 0)
End With
MsgBox "常数值 " & i
Next i
MsgBox "恢复原状"
Selection.Interior.Pattern = p
Selection.Interior.PatternColorIndex = pc
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[示例26]合并单元格
Sub MergeCells()
MsgBox "合并单元格A2:C2,并将文本设为居中对齐"
Range("A2:C2").Select
With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[示例27]限制单元格移动的范围
Sub ScrollArea1()
MsgBox "将单元格的移动范围限制在单元格区域B2:D6中"
ActiveSheet.ScrollArea = "B2:D6"
End Sub
Sub ScrollArea2()
MsgBox "解除移动范围限制"
ActiveSheet.ScrollArea = ""
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[示例28]获取单元格的位置(Address属性)
Sub GetAddress()
MsgBox "显示所选单元格区域的地址"
MsgBox "绝对地址:" & Selection.Address
MsgBox "行的绝对地址:" & Selection.Address(RowAbsolute:=False)
MsgBox "列的绝对地址:" & Selection.Address(ColumnAbsolute:=False)
MsgBox "以R1C1形式显示:" & Selection.Address(ReferenceStyle:=xlR1C1)
MsgBox "相对地址:" & Selection.Address(False, False)
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[示例29]删除单元格区域(Delete方法)
Sub DeleteRange()
MsgBox "删除单元格区域C2:D6后,右侧的单元格向左移动"
ActiveSheet.Range("C2:D6").Delete (xlShiftToLeft)
End Sub
小结
下面对Range对象的一些常用属性和方法进行简单的小结。
1、Activate与Select
试验下面的过程:
Sub SelectAndActivate()
Range("B3:E10").Select
Range("C5").Activate
End Sub
其结果如下图所示:

图05-01:Select与Activate
Selection指单元格区域B3:E10,而ActiveCell则是单元格C5;ActiveCell代表单个的单元格,而Selection则可以代表单个单元格,也可以代表单元格区域。
2、Range属性
可以使用Application对象的Range属性引用Range对象,如
Application.Range(“B2”) ‘代表当前工作表中的单元格B2
若引用当前工作表中的单元格,也可以忽略前面的Application对象。
Range(“A1:D10”) ‘代表当前工作表中的单元格区域A1:D10
Range(“A1:A10,C1:C10,E1:E10”) ‘代表当前工作表中非连续的三个区域组成的单元格区域
Range属性也接受指向单元格区域对角的两个参数,如:
Range(“A1”,”D10”) ‘代表单元格区域A1:D10
当然,Range属性也接受单元格区域名称,如:
Range(“Data”) ‘代表名为Data的数据区域
Range属性的参数可以是对象也可以是字符串,如:
Range(“A1”,Range(“LastCell”))
3、单元格引用的快捷方式
可以在引用区域两侧加上方括号来快速引用单元格区域,如:
[B2]
[A1:D10]
[A1:A10,C1:C10,E1:E10]
[Data]
但其引用的是绝对区域。
4、Cells属性
可以使用Cells属性来引用Range对象。如:
ActiveSheet.Cells
Application.Cells ‘引用当前工作表中的所有单元格
Cell(2,2)
Cell(2,”B”) ‘引用单元格B2
Range(Cells(1,1),Cells(10,5)) ‘引用单元格区域A1:E10
若想在一个单元格区域中循环时,使用Cells属性是很方便的。
也可以使用Cells属性进行相对引用,如:
Range(“D10:G20”).Cells(2,3) ‘表示引用单元格区域D10:G20中第2行第3列的单元格,即单元格F11
也可使用语句:Range(“D10”).Cells(2,3)达到同样的引用效果。
5、Offset属性
Offset属性基于当前单元格按所给参数进行偏移,与Cells属性不同的是,它基于0即基准单元格为0,如:
Range(“A10”).Cells(1,1)和Range(“A10”).Offset(0,0)都表示单元格A10
当想引用于基准单元格区域同样大小的单元格区域时,则Offset属性是有用的。
6、Resize属性
可使用Resize属性获取相对于原单元格区域左上角单元格指定大小的区域。
7、SpecialCells方法
SpecialCells方法对应于“定位条件”对话框,如图05-02所示:
图05-02:“定位条件”对话框
8、CurrentRegion属性
使用CurrentRegion属性可以选取当前单元格所在区域,即周围是空行和空列所围成的矩形区域,等价于“Ctrl+Shift+*”快捷键。
9、End属性
End属性所代表的操作等价于“Ctrl+方向箭”的操作,使用常量xlUp、xlDown、xlToLeft和xlToRight分别代表上、下、左、右箭。
10、Columns属性和Rows属性
Columns属性和Rows属性分别返回单元格区域中的所有列和所有行。
11、Areas集合
在多个非连续的单元格区域中使用Columns属性和Rows属性时,只是返回第一个区域的行或列,如:
Range(“A1:B5,C6:D10,E11:F15”).Rows.Count
将返回5。
此时应使用Areas集合来返回区域中每个块的地址,如:
For Each Rng In Range(“A1:B5,C6:D10,E11:F15”).Areas
MsgBox Rng.Address
Next Rng
12、Union方法和Intersect方法
当想从两个或多个单元格区域中生成一个单元格区域时,使用Union方法;当找到两个或多个单元格区域共同拥有的单元格区域时,使用Intersect方法。

上一页  [1] [2] [3] 



[] [返回上一页] [打 印]
资讯评论 (评论内容只代表 GISTM 网友观点,与本站立场无关!)

用户名: * 查看 GISTM 更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         ( 注意“*”必填,请自觉遵守法律法规!) 验证码: 验证码,看不清楚?请点击刷新验证码

推荐文章/热门文章
相关文章/相关下载
关于本站 - 免责声明 - 帮助(?) - 友情连接 - 网站地图 - 网站留言