Excel工作表中,通过顶部行的字母标识和左侧列的数字标识,我们能够很直观地看出单元格或单元格区域的地址,即通常我们所说的单元格A1、单元格区域A1:B5等。

Excel对象模型也提供了Address属性,让我们通过VBA代码知道单元格或单元格区域的地址。下面,我们举几个简单的代码示例。

代码:

ActiveCell.Address

返回当前工作表中当前单元格的地址。

代码:

Selection.Address

返回当前工作表中所选区域的地址。

代码:

Range(“A1”).CurrentRegion.Address

返回当前工作表中单元格A1所在单元格区域的地址。

代码:

ActiveSheet.UsedRange.Address

返回当前工作表中已使用单元格区域的地址。

上述代码的运行结果如下图所示。

告诉你单元格住在哪儿——使用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设置为相对的起始单元格对象。

告诉你单元格住在哪儿——使用Address属性获取单元格地址

下面为我们设置Address属性的参数的示例代码和运行结果:

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

代码的示例工作表和运行结果如下图所示:

告诉你单元格住在哪儿——使用Address属性获取单元格地址

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。