2017-08-29 56 views
-1

試圖從逗號分隔值的單元格構建數據驗證列表。來自逗號分隔單元格中的值的數據驗證列表

看一看圖像,如果用戶選擇「FFP-IS」的名單應該是:

ACC 
ADM 
AOS 
ABU 

enter image description here

+1

你有什麼試過?堆棧溢出不是我網站的代碼。 –

+0

對不起,斯科特,我試過使用公式,但沒有運氣。只是尋求幫助。 – Gooney

+0

@Gooney:使用公式可能非常困難。使用VBA將是最好的(最簡單的)幫助你在這裏。盡力編寫VBA解決方案。如果您仍然遇到問題,請回復您嘗試過的代碼。 – abraxascarab

回答

0

你能砍使用逗號分隔的列表中的數據驗證列表使用隱藏範圍,UDF和多個命名範圍。

首先將UDF(注意我已經使用塔A作爲值的存儲庫 - 其可以被隱藏):

Public Function DVList(Cell As Range) As Range 
    Dim i As Long, arr() As String: arr = Split(Cell.Value, ",") 
    For i = 0 To UBound(arr) 
     Range("A1").Offset(i) = arr(i) 
    Next i 
    Set DVList = Range(Range("A1"), Range("A1").Offset(UBound(arr))) 
End Function 

然後設置一個命名範圍如「DVList1」與公式「= DVList(工作表Sheet1!$ I $ 4)」,其中工作表Sheet1!$ I $ 4包含以逗號分隔值的字符串

最後補充一個數據驗證列表單元以 「= DVList1」

名單將現在被填充了值

這個範圍相當有限;所以你需要爲逗號分隔的每個單元格設置一個不同的命名範圍。但您可以根據自己的需求進行編輯。