使用EXCEL中的函数通过其地址或引用获取单元格的名称

时间:2017-09-09 16:07:17

标签: excel excel-vba reference excel-2010 excel-2007 vba

我搜索了很多,但没有找到任何好的答案!

  

是否有任何内部函数通过将其地址作为参数返回单元格的Name

如果不是,通过提供地址/参考来获取我们为单元格定义的name的最简单方法是什么?

例如我定义了' test_name'作为单元格name的{​​{1}},其内容为:' test'。

我想要一个excel中的函数,例如:CellName(adr)并使用它像 CellName(B4)并返回&#39; test_name &#39; < / p>

1 个答案:

答案 0 :(得分:1)

我还搜索了很多东西以找到内置的excel函数,但找不到任何东西!

您可以使用map(用户自定义函数)在 List[C]

中获得UDF

对于这个行为,我们将使用visual-basic language(vb)

我找到了一些很好的定义函数,我将解释如何添加。

  

我附加了 3 类型的VB 代码,您可以自己选择其中一个并添加它。

STEPS

  • 首先,打开所需的项目:您可以看到此步骤here或遵循以下内容:

    • 在Excel中打开一个新的工作簿

    • 您应该在应用程序的Visual Basic(VBA)中定义所需的功能

    • 要打开 VB ,请使用短键 alt + F11

    • 在工作簿中添加新的模块

    • 将打开一个新的模块窗口,用于在那里添加您的代码。

  • SECOND,附加代码

    • 复制 一个 三个代码:

        

      1。 CellName1(单元格):获取单元格地址并返回单元格名称

      Cell Name
        

      2. CellName2(单元格):获取单元格地址并返回单元格名称

      Excel
        

      3. CellName3(row,col):获取单元格的行和列并返回单元格的名称

      Public Function CellName1(cel As Range) As Variant
          Dim nm As name
              For Each nm In Names
                  If nm.RefersTo = "=" & cel.Parent.name & "!" & cel.Address Then
                      CellName1 = nm.name
                      Exit Function
                 End If
              Next
          CellName1 = CVErr(xlErrNA)
      End Function
      

不要忘记保存您粘贴的功能!

实施例

考虑名为“test_name”的单元格 B4 ,现在您可以通过上面定义的每个函数获取它的名称...

image 1

现在假设另一个像 D7 的细胞。

我们对此单元格使用第一个函数(Function CellName2(cel As Range) As String Dim rng As Range On Error Resume Next Set rng = cel If Len(rng.name.name) < 0 Then CellName2 = "No named Range" Exit Function End If CellName2 = rng.name.name If InStr("CellName2", "!") > 0 Then CellName2 = Right(CellName2, Len(CellName2) - InStr(CellName2, "!")) End If End Function ),对于结果,“B4”单元格的名称将是“D7”的内容

image 2

image 3

所以,我们将Function CellName3(r As Long, c As Long) As String Dim rng As Range Set rng = Cells(r, c) On Error Resume Next If Len(rng.name.name) < 0 Then CellName3 = "No named Range" Exit Function End If CellName3 = rng.name.name End Function 作为参数传递给函数,并获得其名称作为'D7'单元格的内容。

CellName1(B4)

CellName2(B4)

CellName3(4,2)