Dzwebs.Net

撰写电脑技术杂文十余年

VBA-Range对象在Excel中的用法示例下篇

Admin | 2008-4-26 9:38:44 | 被阅次数 | 35552

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

合并单元格

 Sub MergeCells()
  MsgBox "合并单元格A2:C2,并将文本设为居中对齐"
  Range("A2:C2").Select
  With Selection
   .MergeCells = True
   .HorizontalAlignment = xlCenter
  End With
 End Sub

限制单元格移动的范围

 Sub ScrollArea1()
  MsgBox "将单元格的移动范围限制在单元格区域B2:D6中"
  ActiveSheet.ScrollArea = "B2:D6"
  End Sub
  Sub ScrollArea2()
  MsgBox "解除移动范围限制"
  ActiveSheet.ScrollArea = ""
 End Sub

获取单元格的位置(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

删除单元格区域(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

  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方法对应于“定位条件”对话框

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方法。


该杂文来自: Excel杂文

上一篇:VBA-Range对象在Excel中的用法示例中篇

下一篇:如何在Excel某一个单独的单元格中插入图片

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计