2017-10-18 40 views
0

我想知道是否可以直接從外部查詢加載Excel驗證列表。我期望以某種方式在VBA中執行此操作。我有可以正常工作的查詢,並且可以通過VBA將結果列表加載到工作表中的表中,但沒有問題,但我想知道是否可以直接將此結果集用於驗證列表而無需首先加載查詢結果導入工作簿,然後將此表作爲驗證列表的來源。直接從SQL查詢加載Excel驗證列表

我正在使用MySQL和Excel 2016,並且這個組合對於目前爲止所做的一切工作都很好,但我堅持這一點。請有任何想法嗎?

+0

像,檢查針對陣列保持單元格輸入工作表改變事件你的查詢記錄集?大聲思考,並沒有試圖看看這樣的事情是否可能。 – QHarr

回答

0

是的,你可以很容易,如果你使用Excel表格。

您需要始終將從SQL查詢返回的記錄保存到Excel表中。您可以每次創建一個,也可以創建一個,重命名並始終保存在可見或隱藏的工作表中。這取決於你。

比方說,您已經創建了一個Excel表格,它爲您的下拉列表保留了選項,它被稱爲Table1。當你在小區定義驗證(或細胞),在Source部訣竅是你寫:

=INDIRECT("Table1") 

enter image description here

+0

感謝你們,我知道我可以將結果保存到表格中,我的問題是如何使用查詢結果而不先將它們保存到表格中。 – NJQ

+0

這取決於記錄的大小。你不能在'Source'部分插入超過255個字符,所以如果你確定你的記錄總共字符數小於255個字符,那麼你可以簡單地將它們插入爲'option1,option2,option3,...'。如果字符數超過255,那麼你的選項將被截斷,但不會失敗 – Ibo

+0

,通過'保存'我並不是說你必須真的保存工作簿,如果你只是在那裏轉儲結果,一旦你完成,關閉你的工作簿,而不是保存它,這一切都很好,你的下拉將工作得很好。在這種情況下,我寧願在關閉工作簿之前刪除驗證,因爲如果您的選項不斷變化,那麼當您稍後使用工作簿時,他們會顯示驗證錯誤 – Ibo