分享

#Excel VBA#解读(40):告诉你单元格住在哪儿——使用Address属性获取单元格地址

 L罗乐 2016-10-14

 

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设置返回的地址的引用样式,可以设置为xlA1A1样式)或xlR1C1R1C1样式)。默认值为xlA1

  • 参数External设置为True,返回的地址包含工作簿名和工作表名。设置为False,返回本地地址(即不带工作簿名和工作表名)。默认值为False

  • 如果参数RowAbsoluteColumnAbsolute设置为False,参数ReferenceStyle设置为xlR1C1,那么必须将参数RelativeTo设置为相对的起始单元格对象。

 
下面为我们设置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

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


--------------------------------------

如果您对本文有什么建议或好的示例,请告诉我:xhdsxfjy@163.com

 

通过下列方式可以更快地了解完美Excel更新:

 

关注《完美Excel》微信公众账号:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多