0
的許多範圍我有一列中,我想讓命名範圍值的一個長長的清單:命名可變長度
- A1010標準地基
- A101001牆基
- A101001 COLUMN地基&樁帽
- A1020特殊地基
- A102001 PILE FOUNDATIONS
其中每個範圍的名稱應該是加粗的單元格。
這是我到目前爲止,我確定它笨重,但它是我的(有點);我從其他代碼中找到的其他代碼拼湊在一起。它應該用粗體文本減去空格來命名一個範圍;然後重複刪除命名的範圍,並使用每個新的非粗體字符串重新添加。
當我嘗試運行它時,出現錯誤:運行時錯誤9;下標超出範圍。
我想我被掛在了「RefersToR1C1」的東西上,我用Google搜索了一下,但對我來說沒有意義。
Sub Change_Name()
Dim RngName As String
Dim MyADD As String
Sheets("Sheet 4").Select
Range("C2").Select
While Not IsEmpty(ActiveCell.Value)
If ActiveCell.Font.Bold = True Then
ActiveCell.Replace " ", ""
RngName = ActiveCell.Value
Else
MyADD = ActiveWorkbook.Names(RngName).RefersToR1C1
MyADD = MyADD & "," & CStr(ActiveCell)
ActiveWorkbook.Names("RngName").Delete
ActiveWorkbook.Names.Add Name:="RngName", RefersToR1C1:=MyADD
End If
Selection.Offset(1, 0).Select
Wend
End Sub
我覺得我很接近,這是我幾個小時前想到的。任何幫助表示讚賞。我只知道足夠的vba打破了事情,浪費了我的時間,所以假設我什麼都不知道。
是您的工作表「Sheet 4」或「Sheet4」? – braX
它實際上是Sheet4。現在我得到錯誤1004:應用程序定義或對象定義的錯誤。 – 1honeybadger
準確地說,工作表上您希望名稱參考的範圍是什麼?或者它是一個數組而不是範圍? –