1
我有一些代碼當前通過表格查看任何單元格,我用淺灰色填充,然後在該單元格中添加值到名稱列表。目標是在工作簿中的其他地方,我可以將此列表作爲下拉列表引用。更新ActiveWorkbook.Names(「X」)。VBA中的RefersTo和Names.Value
這裏是我當前的代碼:
Sub Add_Food_To_List()
i = 1
Application.ScreenUpdating = False
Range("a1:a60").Select
x = "{"
y = ""
first = True
For Each Cell In Selection
If ActiveCell.Interior.ColorIndex = "2" Then
i = i + 1
If first = False Then
x = x & ", " & ActiveCell.Value
y = y & ", " & ActiveCell.Address
End If
If first Then
x = x & ActiveCell.Value
y = y & ActiveCell.Address
first = False
End If
ActiveWorkbook.Names("Foods").RefersTo = y
ActiveWorkbook.Names("Foods").Value = x
End If
ActiveCell.Offset(1, 0).Select
Next Cell
Range("a1").Select
Application.ScreenUpdating = True
End Sub
出於某種原因,For Each Cell In Selection
內這兩條線:
ActiveWorkbook.Names("Foods").RefersTo = y
ActiveWorkbook.Names("Foods").Value = x
相互覆蓋。無論哪一個最終都會以名稱中的RefersTo AND Value設置的值結束。
獎勵:這是我的第一個VBA腳本。我怎樣才能讓這個腳本在整個工作簿上運行,而不僅僅是活動工作表?另外,如何在保存或工作簿更新時自動運行它?
我開始在這個解決方案的方向努力我張貼的問題後,但動態範圍,這預存鉤是難以置信的幫助。謝謝! –
就像更新一樣,保存後掛鉤在附加值之前不檢查重複項。我正在研究解決這個問題。只是想擡起頭來。 –
@MikeM。 - 原始要求中沒有列出,但它很容易修復:)查看我編輯的代碼作爲處理它的一種方法。 –