在编写vba解决方案时,有时候会遇到需要获得单元格的地址。
在vba中可以使用range对象的Address属性,它的语法如下:
expression . Address( RowAbsolute , ColumnAbsolute , ReferenceStyle , External , RelativeTo )
它的5个参数都是可选的,其中RowAbsolute , ColumnAbsolute参数默认为True,表示返回单元格的绝对引用,ReferenceStyle参数表示是返回A1类型的引用还是R1C1类型的引用,External属性表示是否返回包含工作簿的引用。
Sub QQ1722187970() Const xlA1 = 1 Const xlR1C1 = -4150 Dim oRng As Range Set oRng = Excel.ActiveSheet.Range("a1:b4") With oRng '返回含工作簿的绝对引用[test.xlsx]sheet1!$A$1:$B$4 Debug.Print .Address(, , , True) '返回含工作簿的相对引用[test.xlsx]sheet1!!A1:B4 Debug.Print .Address(False, False, , True) '返回不含工作表的相对引用A1:B4 Debug.Print .Address(False, False, , False) '返回不含工作表的绝对引用$A$1:$B$4 Debug.Print .Address(True, True, , False) End With End Sub
发表评论