EXCEL VBA选择单元格.doc
文本预览下载声明
单元格区域引用方式的小结
单元格区域引用方式的小结
EXCEL技巧 2008-11-29 12:10:20 阅读97 评论0 ??字号:大中小?订阅
在使用ExcelVBA进行编程时,我们通常需要频繁地引用单元格区域,然后再使用相应的属性和方法对区域进行操作。所谓单元格区域,指的是单个的单元格、或者是由多个单元格组成的区域、或者是整行、整列等。下面,我们设定一些情形,以问答的形式对引用单元格区域的方式进行归纳。
--------------------------------------------------------------------------------问题一:在VBA代码中,如何引用当前工作表中的单个单元格(例如引用单元格C3)?回答:可以使用下面列举的任一方式对当前工作表中的单元格(C3)进行引用。(1) Range(C3)(2) [C3](3) Cells(3, 3)(4) Cells(3, C)(5) Range(C4).Offset(-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)
--------------------------------------------------------------------------------问题二:在VBA代码中,我要引用当前工作表中的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).Offset(1, 1)(9) 若单元格B2为当前单元格,则可使用语句:Range(ActiveCell, ActiveCell.Offset(4, 2))(10) 若单元格D6为当前单元格,则可使用语句:Range(B2, ActiveCell)
--------------------------------------------------------------------------------问题三:在VBA代码中,如何使用变量实现对当前工作表中不确定单元格区域的引用?回答:有时,我们需要在代码中依次获取工作表中特定区域内的单元格,这通常可以采取下面的几种方式:(1) Range(“A” i)(2) Range(“A” i “:C” i)(3) Cells(i,1)(4) Cells(i,j)其中,i、j为变量,在循环语句中指定i和j的范围后,依次获取相应单元格。
--------------------------------------------------------------------------------问题四:在VBA代码中,如何扩展引用当前工作表中的单元格区域?回答:可以使用Resize属性,例如:(1) ActiveCell.Resize(4, 4),表示自当前单元格开始创建一个4行4列的区域。(2) Range(B2).Resize(2, 2),表示创建B2:C3单元格区域。(3) Range(B2).Resize(2),表示创建B2:B3单元格区域。(4) Range(B2).Resize(, 2),表示创建B2:C2单元格区域。如果是在一个单元格区域(如B3:E6),或一个命名区域中(如将单元格区域B3:E6命名为“MyRange”)使用Resize属性,则只是相对于单元格区域左上角单元格扩展区域,例如:代码Range(C3:E6).Resize(, 2),表示单元格区域C3:D6,并且扩展的单元格区域可不在原单元格区域内。因此,可以知道Resize属性是相对于当前活动单元格或某单元格区域中左上角单元格按指定的行数或列数扩展单元格区域。
--------------------------------------------------------------------------
显示全部