我正在編寫一個個人宏,它顯示有關狀態欄上ActiveCell的重要信息,如它所屬的表或樞軸表的名稱(如果有),什麼未格式化值它擁有和這樣的。查找給定單元格屬於的命名範圍
現在我還想顯示單元格包含的命名範圍的名稱。我想我可以通過ActiveWorkbook的一些名稱集合進行掃描並使用相交進行測試,但有沒有更簡單的方法?
我正在編寫一個個人宏,它顯示有關狀態欄上ActiveCell的重要信息,如它所屬的表或樞軸表的名稱(如果有),什麼未格式化值它擁有和這樣的。查找給定單元格屬於的命名範圍
現在我還想顯示單元格包含的命名範圍的名稱。我想我可以通過ActiveWorkbook的一些名稱集合進行掃描並使用相交進行測試,但有沒有更簡單的方法?
最簡單的方法是遍歷名稱。
Function getRangeNames(Target As Range)
Dim n As Name
Dim s As String
For Each n In ThisWorkbook.Names
On Error Resume Next
If Not Intersect(Target, n.RefersToRange) Is Nothing Then
s = s & n.Name & ", "
End If
On Error GoTo 0
Next n
getRangeNames = Left(s, Len(s) - 2)
End Function
當然是,如果有人可能來,這個問題可能也是相關的? –
@MLind我同意。順便說一句,我喜歡你的概念。 – 2016-08-03 13:35:26
這是沒有什麼奇怪的,與個人工作簿中的類模塊與Appl_SheetSelectionChange調用一個子程序寫狀態欄左側的當前單元格的信息非常類似於Excel 2010將範圍總和寫入該欄的右側。也許我可以在這裏分享它?這只是兩個屏幕的代碼。 –
如果命名範圍只包含ActiveCell,則ActiveCell.Name.Name將返回命名範圍。 – 2016-08-03 10:18:23
謝謝托馬斯,這很有用,但已經被利用,我猜想在Excel的地址窗口(在左邊)。 –