在Excel工作表中,通过顶部行的字母标识和左侧列的数字标识,我们能够很直观地看出单元格或单元格区域的地址,即通常我们所说的单元格A1、单元格区域A1:B5等。
Excel对象模型也提供了Address属性,让我们通过VBA代码知道单元格或单元格区域的地址。下面,我们举几个简单的代码示例。
代码:
ActiveCell.Address
返回当前工作表中当前单元格的地址。
代码:
Selection.Address
返回当前工作表中所选区域的地址。
代码:
Range('A1').CurrentRegion.Address
返回当前工作表中单元格A1所在单元格区域的地址。
代码:
ActiveSheet.UsedRange.Address
返回当前工作表中已使用单元格区域的地址。
上述代码的运行结果如下图所示。
Address属性的语法如下:
Range对象 .Address(RowAbsolute, ColumnAbsolute,ReferenceStyle, External, RelativeTo)
说明:
所有参数均为可选项。
参数RowAbsolute设置为True,则返回的地址行部分为绝对引用。默认值为True。
参数ColumnAbsolute设置为True,则返回的地址的列部分为绝对引用。默认值为True。
参数ReferenceStyle设置返回的地址的引用样式,可以设置为xlA1(A1样式)或xlR1C1(R1C1样式)。默认值为xlA1。
参数External设置为True,返回的地址包含工作簿名和工作表名。设置为False,返回本地地址(即不带工作簿名和工作表名)。默认值为False。
如果参数RowAbsolute和ColumnAbsolute设置为False,参数ReferenceStyle设置为xlR1C1,那么必须将参数RelativeTo设置为相对的起始单元格对象。
Sub AddressTest()
MsgBox '不带参数的结果:' &_
ActiveCell.Address & vbCrLf& _
'设置RowAbsolute参数的结果:'& _
ActiveCell.Address(RowAbsolute:=False) & vbCrLf & _
'设置ColumnAbsolute参数的结果:'& _
ActiveCell.Address(ColumnAbsolute:=False)& vbCrLf & _
'前面两个参数均设置的结果:'& _
ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) &vbCrLf & _
'设置ReferenceStyle参数的结果:'& _
ActiveCell.Address(RowAbsolute:=False,ColumnAbsolute:=False, ReferenceStyle:=xlR1C1,RelativeTo:=Range('C1')) & vbCrLf & _
'设置External参数的结果:'& _
ActiveCell.Address(External:=True)
End Sub
代码的示例工作表和运行结果如下图所示:
如果您对本文有什么建议或好的示例,请告诉我:xhdsxfjy@163.com
通过下列方式可以更快地了解完美Excel更新:
关注《完美Excel》微信公众账号:
联系客服