2016-06-07 223 views
0

在Excel 2013中,我在一張參考數據上使用命名範圍來引用另一張紙上一堆公式中的常量。在範圍旁顯示範圍名稱

有什麼方法可以顯示範圍本身旁邊的範圍名稱?例如,如果我的單元格AB23名爲SC_Item,是否有任何方法使AC23顯示「SC_Item」,可能是沿着=RANGENAME(AB23)(當然是完全組成)或類似的行顯示的東西?

回答

1

除非有內置的方法(我還沒有使用2013),那麼這段代碼將完成這項工作。
它將檢查目標單元格是否位於命名範圍內,並且適用於單個單元格命名範圍或單元格是更大命名範圍的一部分。

Public Function NamedRange(Target As Range) As String 

    Dim vName As Variant 

    For Each vName In ThisWorkbook.Names 
     If Not Intersect(Target, Range(vName)) Is Nothing Then 
      NamedRange = vName.Name 
      Exit For 
     End If 
    Next vName 

End Function 

這將工作,如果你命名的範圍只是一個單元格(儘管我敢肯定還有更好的方法)。

Public Function NamedRange1(Target As Range) As String 

    On Error GoTo ERROR_HANDLER 

     NamedRange1 = Target.Name.Name 

    On Error GoTo 0 
    Exit Function 

ERROR_HANDLER: 
    Select Case Err.Number 
     Case 1004 'Application-defined or object-defined error. 
      NamedRange1 = Target.Address 
      Resume Next 
     Case Else 
      MsgBox "Error " & Err.Number & vbCr & _ 
       " (" & Err.Description & ") in procedure Module1.NamedRange1." 
      Application.EnableEvents = True 
    End Select 

End Function 
+0

NamedRange1完美地工作 - 謝謝! –