1.Select方法:一般使用Select方法选定单元格或者单元区域,语法如下:expression.Select(Replace)参数expression是必需的,表示一个有效的对象,参数Replace是可选的,要替换的对象。注:使用Select方法选定单元格时,单元格所在的工作表必需为活动工作表,所以要先使用Activate方法使作用对象成为活动工作表,否则Select方法有可能出错。
例子:
Sub RngSelect()
Sheet2.Activate
Sheet2.Range("A6:C4").Select
End Sub
运行结果选中Sheet2工作表中的A6至C4的单元格。
2.使用Goto方法,使用Goto方法无需使单元格所在的工作表成为活动工作表,Goto方法选定任意工作簿中的任意区域或任意Visual Basic过程,并且如果该工作簿未处于活动状态,就激活该工作簿,语法是:expression.Goto(Reference,Scroll),参数expression是必需的,返回一个Application对象。参数Reference是可选的,Variant类型,指定目标。可以是Range对象、包含R1C1-样式记号的单元格引用的字符串或包含Visual Basic过程名的字符串。如果省略本参数,目标将是最近一次用Goto方法选定的区域。参数Scroll是可选的,Variant类型,如果该值为True,则滚动窗口直至目标区域的左上角单元格出现在窗口的左上角。如果该值为False,则不滚动窗口。默认值为False。
例子:
Sub RngGoto()
Application.Goto Reference:=Sheet1.Range("A1:B10"), scroll:=True
End Sub
运行后,显示A1:B10单元格区域被选定,并滚动工作表以显示该单元格。
3.使用Range对象的End属性,可以取得单元格对象后便能获得该单元格的相关属性,如单元格地址、行列号、数值等。End属性返回一个Range对象,该对象代表包含源区域的区域尾端的单元格,等同于按按键<End+向上键>、<End+向下键>、<End+向左键>或<End+向右键>,语法如下:expression.End(Direction),参数expression是必需的,一个有效的对象。参数Direction是可选的,所要移动的方向,可以为如图所示的XlDirection 常量之一。
常量 值 描述
xlDown -4121 向下
xlToRight -4161 向右
xlToLeft -4159 向左
xlUp -4162 向上
Range对象的End属性返回的是一个Range对象,因此可以直接使用该对象的属性和方法。
例子:
Sub LastRow()
Dim rng As Range
Set rng = Sheet1.Range("A65536").End(xlUp)
MsgBox "A列中最后一个非空单元格是" & rng.Address(0, 0) _
& ", 行号" & rng.Row & ",数值" & rng.Value
Set rng = Nothing
End Sub
4.定位单元格 在Excel中使用定位对话框可以选中工作表中特定的单元格区域,而在VBA中则使用SecialCells方法,它返回一个Range对象,该对象代表与指定类型及值相匹配的所有单元格,语法如下:expression.SecialCells(Type,Value),参数expression是必需的,指明一个有效的对象。参数Type是必需的,要包含的单元格,可为表格所列的XlCelltype常量之一。
常量 值 描述
xlCellTypeAllFormatConditions -4172 任意格式单元格
xlCelltypeAllValidation -4177 含有验证条件的单元格
xlCellTypeBlanks 4 空单元格
xlCellTypeComments -4144 含有注释的单元格
xlCellTypeConstants 2 含有常量的单元格
xlCelltypeFormulas -4123 含有公式的单元格
xlCellTypeLastCell 11 使用区域中最后的单元格
xlCellSameFormatConditions -4173
例子: