我有一列數據會隨着時間的推移添加更多值。我想將此列的值用於其他工作表上的列表驗證,以便下拉選項反映列的當前內容。我試圖創建一個名爲範圍ListColumn
用下面的公式:使用此命名範圍進行列表驗證有什麼問題?
=ADDRESS(3,12,1,1,"DataSource")&":"&ADDRESS(COUNTA('DataSource'!$L:$L),12,1,1,"DataSource")
當我嘗試添加驗證的單元格,選擇允許:「清單」,並在公式框中輸入=ListColumn
,我收到此錯誤信息:
The list source must be a delimited list, or a reference to a single row or column.
我試圖在INDIRECT()
包裹整個公式,而沒有產生名稱管理器屏幕上,當我試圖添加驗證上的錯誤,我得到這個錯誤信息:
The Source currently evaluates to an error. Do you want to continue?
我不確定這裏有什麼問題。兩個ADDRESS()調用的第二個參數是相同的,所以範圍地址應該引用單個列。我如何設置我正在尋找的動態列表驗證?
編輯:調試這產生一些奇怪的行爲。當我嘗試使用Range("ListColumn").Select
來選擇ListColumn時,我總是收到運行時錯誤。消息是對象'_Global'的方法'範圍'失敗。「
輸入=ListColumn
返回:'DataSource'!$L$3:'DataSource'!$L$65
,這是預期值。
此外,當我輸入公式=COUNTA(ListColumn)
時,它返回「1」,但是當我輸入公式=COUNTA('DataSource'!$L$3:'DataSource'!$L$65)
時,它返回正確的值「63」。 =COUNTA(INDIRECT(ListColumn))
也返回「1」。
傻queston ...當你選擇ListColumn,它是一個單一的行或列? –
@DanielCook,.Select不起作用,請參閱上面的我的編輯。 – sigil