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