我想要做的是從該範圍內的單元格獲取範圍名稱。我環顧四周,似乎所有人都建議使用.Name或.Name.Name但是當我嘗試.Name和.Name.Name似乎都不起作用,因爲我得到一個對象/應用程序定義的錯誤。從該範圍內的單元格獲取範圍名稱,.Name似乎沒有工作
我有一個電子表格設置,所以有一個範圍,每個單元格的單元格都在同一個範圍內的單元格下方。我最初只是使用標題單元格的.Value,但這會產生一些問題。我的程序做了各種各樣的事情,其中一個是創建一個單獨的工作表,其中只有一個單獨的範圍數據在該工作表上,並且其名稱與範圍名稱相同。然而,由於我無法命名超過30個字符的工作表(並且我無法在範圍名稱中使用除下劃線之外的空格或特殊字符,因此開始很難直觀地讀取標題單元格的內容)我一直試圖將範圍命名爲「傘項」,就像標題單元格是「Project Management something/something(something)...」一樣。「我可以將範圍命名爲ProjMgmt,因爲它更短,但它自從標題單元格和範圍名稱的值不相同。標題單元格是一個合併的單元格btw,如果重要的話,這些範圍名稱已經用名稱管理器手動分配,並且我正在使用excel 2010
編輯:側面問題:當您使用名稱管理器手動添加名稱時,將它們添加到workbook.Names或它應該去的地方?看起來像workbook.Names沒有填充任何其他以外的任何東西
這是我的代碼,我遇到了麻煩。這是一個循環,因此<內部> ORGNAME是當它進入一個新的範圍
If TempP.Value <> OrgName And TempP.Value <> "" Then
OrgName = TempP.Value
...rest of code that works
我想嘗試這樣
If TempP.Name <> OrgName And TempP.Value <> "" Then
OrgName = TempP.Name
的東西我也有一個INRANGE功能,如果是確定電池是我從別處得到的,我可能能夠使用
Function InRange(Range1 As Range, Range2 As Range) As Boolean
Dim InterSectRange As Range
Set InterSectRange = Application.Intersect(Range1, Range2)
InRange = Not InterSectRange Is Nothing
Set InterSectRange = Nothing
End Function
'ActiveWorkbook.Names'? – SeanC
@SeanC你能詳細說明我將如何使用它嗎? – WalterC