详细的学习VBA中对单元格对象的引用方式、属性、方法,是学习VBA必须要打好的基础。基础概念一定要牢固。
这节课我们先讲解单元格对象的一些属性、方法。
offset属性
作用:返回Range对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。
语法
表达式.Offset(RowOffset, ColumnOffset)
表达式 一个代表 Range 对象的变量。
RowOffset 区域偏移的行数(正数、负数或 0(零))。正数表示向下偏移,负数表示向上偏移。默认值是 0。
ColumnOffset 区域偏移的列数(正数、负数或 0(零))。正数表示向右偏移,负数表示向左偏移。默认值是 0。
Range("a1").Offset(3, 2).Select 'select方法,选中偏移后得到的单元格
Resize属性
作用:调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。
语法
表达式.Resize(RowSize, ColumnSize)
表达式 一个返回 Range 对象的表达式。
RowSize 新区域中的行数。如果省略该参数,则该区域中的行数保持不变。
ColumnSize 新区域中的列数。如果省略该参数。则该区域中的列数保持不变。
Range("a1").Resizt(3, 2).Select
结果如下:
End属性
作用:返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ ↑、End+ ↓、End+ ←或 End+ →。
语法
表达式.End(Direction)
表达式 一个代表 Range 对象的变量。
Direction 所要移至的方向。(包括以下四种情况)
xlDown 向下
xlToLeft 向左
xlToRight 向右
xlUp 向上
Range("a1").End(xlDown).Select '相当于在A1单元格按下 END+↓
Range("a100").End(xlUp).Select '相当于在A100单元格按下 END+↑
以上两种方式均可以得到以下结果
我们一般用end属性获取某列的最后一个非空单元格的行号
Cells(Rows.Count, "A").End(xlUp).row
Address属性
作用:返回单元格地址。
Sub t()
MsgBox Range("a1").Address
End Sub
程序运行后结果如下:
Value属性
作用:表示单元格里面的内容,默认属性,可省略
Range("A1").Value = "ab" '在A1单元格输入ab