VBA中常用对象的访问(一)

来源:互联网 发布:threebsp.js下载 编辑:程序博客网 时间:2024/04/29 16:08

1.Range(单元格)对象

   一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区(可以为连续的单元格,也可以是不连续的单元格)中选定的单元格,或者是多张工作表中的一组单元格。

 引用方式(1):使用Range属性,格式如下:Range(Cell1,Cell2),其中Cell1是必需的,必须为A1样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括美元符号(即绝对地址,如“$A$1”)。可在区域中任一部分使用局部定义名称,如Range("A2:LastCell"),其中LastCell为已定义的单元格区域名称;参数Cell2是可选的。区域左上角和右下角的单元格。

例子:

Sub RngSelect()
ActiveSheet.Range("A2:F4,B1:C5").Select
End Sub

运行后,当前活动表的以下区域被选中。如下图:

(2):使用Cells属性返回一个Range对象,格式如下:Cells(RowIndex, ColumnIndex), 两个参数都是可选的,RowIndex-->引用区域中行的序号 ColumnIndex-->引用区域中列的序号。如果缺省参数,Cells属性返回引用对象的所有单元格。Cells属性的参数可以使用变量,因此经常应用于在单元格区域中循环。

例子:

Sub CellSelect()
   Dim iCell As Integer
   For iCell = 1 To 30 Step 2
   ActiveSheet.Cells(iCell, 1).Value = iCell
   Next iCell
End Sub
运行后,当前活动工作表的A1:A30单元格中奇数行填入序号,这个是由循环决定的。

(3)使用offset属性,返回一个基于引用的Range对象的单元格区域,格式如下:expression.Offset(RowOffset, ColumnOffset),参数expression是必需的,其返回值为一个Range对象。RowOffset参数是可选的,分别表示区域偏移的的行数(正值、负值或0)。正值表示向下偏移,负值表示向上偏移,默认值为0。ColumnOffset参数是可选的,分别表示区域偏移的的行数(正值、负值或0)。正值表示向右偏移,负值表示向左偏移,默认值为0。

例子:

Sub OffsetSelect()
 Sheet1.Range("A1:C3").Offset(2, 3).Select
End Sub

运行后,显示选中单元格偏移向下两行,向右偏移三列。

(4)使用Resize属性调整指定区域的大小,并返回调整大小后的单元格区域,格式:expression.Resize(RowSize, ColumnSize),其中expression是必选参数,返回要调整大小的Range对象。参数RowSize是可选的,新区域中的行数,缺省时表示该区域中的行数不变。参数ColumnSize是可选的,新区域中的列数,缺省时表示该区域中的列数不变。

例子:

Sub Resize()
 MsgBox "这是原始区域"
 Sheet1.Range("A2:C5").Select
 MsgBox "调整后的区域"
 Sheet1.Range("A2:C5").resize(3, 2).Select
End Sub
运行后,当点击第一个msgbox的确定后,选择的为原始的区域:

然后弹出第二个msgbox确定后,选择的为通过调整后的区域:


(5)使用Union方法,将多个非连续区域连接起来成为一个区域,从而可以实现对多个连续区域的操作。格式:expression.Union(Arg1, Arg2, ...),参数expression是可选参数,返回一个Application对象,参数Arg1、Arg2是必需的,至少要指定两个Range对象。

例子:

 Sub UnionSelect()
  ActiveWorkbook.Union(ActiveSheet.Range("A1;D4"), _
  ActiveSheet.Range("E3:H8")).Select
End Sub

--这段代码调试有问题,目前未找到答案。

(6)快捷记号,将A1引用样式或命名区域名称使用方括号括起来,作为Range属性的快捷方式,这样就不用键入单词“Range”或使用引号。

例子:

Sub FastMark()
  [A1:A5] = 3
End Sub
 这是使用Fastmark过程使用快捷记号为单元格区域赋值。运行后,当前活动工作表的A1:A5单元格赋值为3。

(7)使用UsedRange属性返回指定工作表上已使用单元格组成的区域。

例子:

Sub UseSelect()
Sheet1.UsedRange.Select
End Sub

运行后发现, UseSelect过程使用UsedRange属性选择工作表上已使用单元格组成的区域,包括空单元格

(8)使用CurrentRegion属性返回指定工作表上当前的区域。

例子:

Sub CurrentSelect()
Sheet1.Range("A4").CurrentRegion.Select
End Sub
运行后,CurrentSelect过程使用CurrentRegion属性选择工作表上A4单元格当前的区域。

原创粉丝点击