我使用 vba 函数来获取单元格名称(取自Retrieving Cell name in Excel)
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
当单元格的名称不存在时,它会显示错误——这当然是预期的行为。但是,当我随后命名另一个单元格(我想获得的名称)时,我的单元格中的错误仍然有效。重新计算没有帮助。然后我需要更改另一个单元格的值(我可以更改其值或更改其公式中的另一个单元格的值)或其公式,因此将重新计算该单元格中的值,因此我的单元格具有CellName
函数得到正确刷新。
我不明白为什么,当我命名我指向的单元格时,我能做些什么来简单地刷新单元格?
这是 Excel 2007,文件类型为 xlsm。