如果我有一个Range对象 - 例如,假设它引用了A1
一个名为的工作表上的单元格Book1
.所以我知道打电话Address()
会给我一个简单的本地参考:$A$1
.我知道它也可以被称为Address(External:=True)
获取包括工作簿名称和工作表名称的引用:[Book1]Sheet1!$A$1
.
我想要的是获得一个地址,包括工作表名称,但不是书名.我真的不想调用Address(External:=True)
并试图用字符串函数自己去除工作簿名称.我可以在范围内打电话Sheet1!$A$1
吗?
我能想到的唯一方法是将工作表名称与单元格引用连接起来,如下所示:
Dim cell As Range Dim cellAddress As String Set cell = ThisWorkbook.Worksheets(1).Cells(1, 1) cellAddress = cell.Parent.Name & "!" & cell.Address(External:=False)
编辑:
将最后一行修改为:
cellAddress = "'" & cell.Parent.Name & "'!" & cell.Address(External:=False)
如果你希望它工作,即使工作表名称中有空格或其他有趣的字符.
Split(cell.address(External:=True), "]")(1)