在Excel中检索单元名称

Man*_*noj 16 excel

有没有办法在另一个单元格中显示特定单元格的单元格名称?我想在相邻单元格中显示单元格名称,以便用户能够识别单元格名称而无需单击它.

谢谢...

And*_*rew 11

ADDRESS(ROW(),COLUMN())会给你一个地址,例如当前单元格的1美元.从行/列值(数字)中添加/减去以引用您所在的单元格.

如果你不想要$那么你可以找到并替换它,SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")例如获得A1


Ada*_*sha 8

此函数将给出单元格所属的NamedRange的名称:

Public Function CellName(oCell As Range) As Variant  
Dim oName As Name  
For Each oName In ThisWorkbook.Names  
    If oName.RefersToRange.Parent Is oCell.Parent Then  
        If Not Intersect(oCell, oName.RefersToRange) Is Nothing Then  
           CellName = oName.Name  
           Exit Function  
        End If  
    End If  
Next  
CellName = CVErr(xlErrNA)  
End Function  
Run Code Online (Sandbox Code Playgroud)

它循环遍历工作簿中的所有名称,然后为每个名称检查它是否引用了此输入参数中的任何内容.如果是,则检查输入单元格和名称引用的范围是否相交.如果他们这样做,则返回范围的名称.


Pav*_*rov 6

在Excel 2013中,也可能在某些旧版本中,ADDRESS()接受第三个参数,该参数定义要返回的地址的格式,并带有以下值:

1 - 绝对(默认)

2 - 绝对行/相对列

3 - 相对行/绝对列

4 - 相对

所以我们在单元格A1中说

ADDRESS(ROW();COLUMN()) //outputs $A$1
ADDRESS(ROW();COLUMN();1) //outputs $A$1
ADDRESS(ROW();COLUMN();2) //outputs A$1
ADDRESS(ROW();COLUMN();3) //outputs $A1
ADDRESS(ROW();COLUMN();4) //outputs A1
Run Code Online (Sandbox Code Playgroud)

如果要在单元格A1类型中显示单元格D3的名称:

ADDERSS(ROW(D3);COLUMN(D3);4) //outputs text D3 in cell A1
Run Code Online (Sandbox Code Playgroud)


unw*_*ind 1

似乎不可能,这很奇怪。您可能认为该cell()函数应该提供一种获取名称的方法,但事实并非如此。真糟糕。