资源描述:
《range对象应用大全(1)-应用基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Range对象应用大全(1)-应用基础2009年06月27日,8:51下午 (4 人投票,平均: 4.75 outof5)引子:本文以MSDN中《DevelopersGuidetotheExcel2007RangeObject》一文为线索,整理并归纳了自已以前学习Range对象时的一系列学习笔记。辑录于此,供有兴趣的朋友参考。毫无疑问,Range对象是Excel对象模型中最重要的对象,几乎所有与工作表有关的实质性操作都涉及到Range对象,可以说,熟悉并熟练运用Range对象是掌握ExcelVBA编程的关键。下面,让我们逐步了解、熟悉并开始使用Ra
2、nge对象吧。在VBA代码中引用或选择Excel工作表的单元格或单元格区域在使用ExcelVBA编程时,我们通常需要频繁地引用单元格区域,然后再使用相应的属性和方法对区域进行操作。所谓单元格区域,指的是单个的单元格、或者包含连续或非连续的多个单元格组成的区域、或者是整行、整列、甚至是三维单元格区域等。[应用1]引用当前工作表中的单个单元格(例如引用单元格C3)可以使用下面列举的任一方式引用当前工作表中的单元格(C3):(1)Range(“C3″)(2)[C3](3)Cells(3,3)(4)Cells(3,“C”)(5)Range(“C4″).Of
3、fset(-1)Range(“D3″).Offset(,-1)Range(“A1″).Offset(2,2)(6)若C3为当前单元格,则可使用:ActiveCell(7)若将C3单元格命名为“Range1”,则可使用:Range(“Range1″)或[Range1](8)Cells(4,3).Offset(-1)(9)Range(“A1″).Range(“C3″)此外,可以使用下面的代码选择当前工作表中的单元格D5:ActiveSheet.Cells(5,4).Select或:ActiveSheet.Range(“D5″).Select[应用2]引
4、用当前工作表中的B2:D6单元格区域可以使用下面列举的任一方式引用当前工作表中的单元格区域B2:D6:(1)Range(“B2:D6”)(2)Range(“B2″,“D6″)(3)[B2:D6](4)Range(Range(“B2″),Range(“D6″))(5)Range(Cells(2,2),Cells(6,4))(6)若将B2:D6区域命名为“MyRange”,则又可以使用下面的语句引用该区域:①Range(“MyRange”)②[MyRange](7)Range(“B2″).Resize(5,3)(8)Range(“A1:C5″).Off
5、set(1,1)(9)若单元格B2为当前单元格,则可使用语句:Range(ActiveCell,ActiveCell.Offset(4,2))(10)若单元格D6为当前单元格,则可使用语句:Range(“B2″,ActiveCell)下面的过程将单元格区域A1:D5的字体设置为加粗。SubFormatRange()Workbooks("Book1").Sheets("Sheet1").Range("A1:D5")_.Font.Bold=TrueEndSubRange(“A:A”)代表当前工作表中的A列,Range(“1:1″)代表当前工作表中的第一
6、行,Range(“A:C”)代表当前工作表中从A列到C列的区域,Range(“1:5″)代表当前工作表中从第一行到第五行的区域,Range(“1:1,3:3,8:8″)代表当前工作表中第1、3和8行,Range(“A:A,C:C,F:F”)代表当前工作表中的第A、C和F列。下面是给单元格赋值的几个例子。示例1:Subtest1()Worksheets("Sheet1").Range("A5").Value=22MsgBox"工作表Sheet1内单元格A5中的值为"_&Worksheets("Sheet1").Range("A5").ValueEnd
7、Sub示例2:Subtest2()Worksheets("Sheet1").Range("A1").Value=_Worksheets("Sheet1").Range("A5").ValueMsgBox"现在A1单元格中的值也为"&_Worksheets("Sheet1").Range("A5").ValueEndSub示例3:Subtest3()MsgBox"用公式填充单元格,本例为随机数公式"Range("A1:H8").Formula="=Rand()"EndSub示例4:Subtest4()Worksheets(1).Cells(1,1).
8、Value=24MsgBox"现在单元格A1的值为24"EndSub示例5:Subtest5()MsgBox"给单元格设置