KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中顯示超過 8 行的資料驗證下拉清單?

作者Siluvia修改日期

當您在 Excel 中使用資料驗證下拉清單時,可能會很快發現一個限制:預設的下拉選單一次最多僅顯示 8 個項目。這表示若您的清單較長,就必須手動捲動才能查看所有選項,對於需要從大型清單中快速選取的情境來說,可能造成不便。在許多實際的商業、行政或數據分析應用中,使用者經常需要迅速瀏覽並從超過 8 項的清單中做出選擇。然而,Excel 並未提供直接調整標準資料驗證清單可見項目數量的設定,這可能拖慢工作流程,甚至影響操作的清晰度與效率。

幸運的是,Excel 提供了多種替代方案,可突破預設限制,讓您的下拉式選單顯示超過 8 行。這些方法在應用方式、彈性與複雜度上各有特色。本教學將介紹幾種實用的解決方案,包括使用標準 Combo Box 控制項、ActiveX Combo Box、自訂 VBA 介面,以及以公式驅動的動態替代方案。根據您對外觀、可程式化程度及互動使用者體驗的需求,每種方法皆能契合不同情境。

使用 Combo Box 在資料驗證清單中顯示超過 8 行
使用 ActiveX Combo Box 顯示超過 8 行
VBA:具延伸顯示功能的自訂下拉式介面


使用 Combo Box 在資料驗證清單中顯示超過 8 行

使用 Excel 內建的標準 Combo Box 控制項,是直接在工作表上顯示超過 8 行下拉清單的便捷方式。操作簡單,並提供可自訂的介面,讓您輕鬆擴充可見項目數量,特別適合用於包含長清單的工作表,或希望使用者能快速瀏覽更多選項的情境。

以下是實作此解決方案的具體步驟:

1. 首先,請確認您的 Excel 功能區中已啟用開發人員索引標籤。接著,按一下插入 > Combo Box。詳情請參閱下方截圖:

如果您未看到開發人員索引標籤,可 依照此指南啟用 Excel 中的開發人員索引標籤。

2. 接下來,在工作表上依所需大小與位置繪製 Combo Box。若要存取其屬性,請在 Combo Box 上按一下滑鼠右鍵,並從快捷選單中選取控制項格式

從右鍵選單中選取「控制項格式」

3. 在物件格式對話方塊中,切換至控制項索引標籤,並仔細設定下列欄位:

3.1 在輸入區域方塊中,選取包含您的下拉列表項目的範圍。此範圍應包含所有您希望顯示的值;為求最佳實務,建議使用具名範圍以便管理動態清單。
3.2 在儲存格連結方塊中,選取一個工作表儲存格,用以記錄 Combo Box 的選取索引。此連結儲存格可被其他公式參照,使選取結果能在您的工作表邏輯中發揮作用。
3.3 在下拉列數方塊中,指定您的下拉列表中可見的行數。例如,若要顯示 11 行,請輸入「11」(請確保該數值不超過您的項目總數,且 Combo Box 的高度足以顯示所有行)。若您設定的數值高於項目總數,Excel 將僅顯示可用項目,因此請根據需求調整「下拉列數」設定。
3.4 按一下確定以套用設定並關閉對話框。

在「物件格式」對話方塊中設定選項

設定完成後,工作表上的下拉式方塊將顯示您指定的行數,讓使用者一次就能檢視並選取超過 8 個選項,大幅提升選擇效率與畫面清晰度,特別適合用於選項眾多的表單或清單。

下拉式清單中顯示超過 8 行

提示:若您希望 Combo Box 能隨來源清單變動自動更新,請將輸入區域參照至動態名稱範圍,或直接使用表格。注意:Combo Box 的選取結果會傳回所選項目的索引(數字),而非實際值,因此您可能需要搭配 =INDEX(範圍,連結儲存格)公式,才能擷取實際值供後續使用!


使用 ActiveX Combo Box 顯示超過 8 行

ActiveX 下拉式方塊是「開發人員」索引標籤中提供的另一種控制項,相較於標準(表單控制項)下拉式方塊,具備更高的自訂彈性。它支援多項進階屬性,包括可見行數、字體大小與色彩,並能透過 VBA 撰寫互動回應程式。

當您需要更高的彈性(例如自訂事件處理或動態填入清單),或希望與活頁簿的其他功能無縫整合時,此方法尤其推薦。

使用 ActiveX Combo Box 的實作步驟如下:

1. 請先確認開發人員索引標籤已啟用,再點選插入 > ActiveX 控制項 > Combo Box

2. 依所需位置與大小繪製 ActiveX Combo Box。在 Combo Box 上按一下滑鼠右鍵,選擇屬性,即可深入自訂設定。

3. 在屬性視窗中,將 ListFillRange 屬性設定為您的選單項目範圍(例如 )Sheet1!A2:A20)。調整 ListRows 屬性至任意數值(例如 15),即可讓下拉式清單顯示超過 8 行!

4. 您還可在屬性區域進一步自訂外觀、字型及其他行為。如有需要,可透過 VBA 動態調整 Combo Box 項目或回應使用者操作(例如利用 )Change 事件)。

5. 在開發人員索引標籤上退出設計模式後,即可啟用 Combo Box 以供一般使用。

注意:ActiveX 控制項僅適用於 Windows 版 Excel,在其他平台上可能不受支援或運作方式有所不同。雖然它比表單控制項提供更豐富的互動效果與外觀,但在受保護的工作表或網頁環境中穩定性較低。進行複雜設定前,請務必先儲存您的工作!

提示:ActiveX Combo Box 中選取的值,可透過讀取其 .Value 屬性,在 VBA 或公式中直接引用。若需自動化操作,您還能運用 VBA 動態填入 Combo Box,建立來自資料庫查詢或篩選結果的智慧清單!


VBA:具延伸顯示功能的自訂下拉式介面

當您需要高度自訂的下拉式介面,或希望顯示超過 8 項的內容(並搭配量身打造的外觀與互動功能)時,可運用 VBA 建立使用者表單。此表單能容納不受 8 項限制的 ComboBox 或 ListBox,並直接與工作表資料互動、即時呈現。此方法極適合用於自動化應用程式、專業表單或儀表板的開發。

透過 VBA 建立自訂下拉式的步驟如下:

1. 前往開發人員索引標籤,按一下 Visual Basic,即可開啟 Microsoft Visual Basic for Applications 編輯器。接著選擇插入 > UserForm

2. 在您的 UserForm 上,點選工具箱中的控制項並在表單上繪製,即可新增一個 ComboBoxListBox 控制項。接著,在「屬性」視窗中設定 ListRows(適用於 ComboBox),或直接調整 ListBox 的大小,以顯示您所需的行數。然後,使用下列 VBA 程式碼將資料填入表單,並連結至您的工作表資料:

4. 在使用者表單上按一下滑鼠右鍵,從內容功能表中選取「檢視程式碼」,然後將原始程式碼取代為下列 VBA 程式碼。

Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    Dim lastRow As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set ws = ThisWorkbook.Sheets("Sheet1")
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    ComboBox1.List = ws.Range("A2:A" & lastRow).Value
    ComboBox1.ListRows = 20 ' Show up to 20 items at once
End Sub

Private Sub ComboBox1_Change()
    ' On selection, write the value to specific cell
    ThisWorkbook.Sheets("Sheet1").Range("B1").Value = ComboBox1.Value
    ' You can add more actions here as needed
End Sub

注意事項:在 VBA 程式碼中,

  • 請將「Sheet 1」、「A2:A」和「20」替換為您實際使用的工作表名稱、數據範圍,以及要顯示的項目數量。
  • 儲存格 B1 為參考儲存格,下拉式清單中所選的項目將顯示於此,請依需求調整。

5. 若要顯示表單,請點選「插入」>「模組」,並貼上以下 VBA 程式碼。

Sub ShowDropDownForm()
    UserForm1.Show
End Sub

6. 在模組視窗中輸入程式碼後,點擊執行,您的自訂表單將立即出現,並顯示指定行數的下拉式選單!

提示:您可以進一步自訂介面、新增群組或搜尋功能,甚至在選取項目時同步更新多個工作表儲存格!透過表單與工作表之間的數值傳遞,輕鬆實現資料即時同步,打造互動式報表或輸入面板。若為首次執行巨集,請先至 Excel 信任中心設定中啟用巨集。進行 VBA 修改前,務必先儲存活頁簿,以免遺失寶貴資料。


以下是針對這些方法的疑難排解建議與摘要提示:

  • 如果您的 Combo Box 或 ActiveX 控制項運作不如預期,請檢查工作表的保護狀態、平台相容性(ActiveX 僅支援 Windows),以及單元格連結是否正確。
  • 使用公式時,請確認您的 Excel 版本支援動態陣列,並檢查是否出現溢位錯誤(儲存格中將顯示)#SPILL!錯誤)。
  • 務必使用範例資料,在目標裝置上測試下拉式介面,確保顯示的項目數量符合預期。
  • 針對以 VBA 為基礎的解決方案,執行新程式碼前,請務必先備份活頁簿並啟用巨集;若表單未顯示,請確認已插入 UserForm 且控制項命名正確。
  • 請根據您的使用情境評估各項解決方案:Combo Box 適合快速設定,ActiveX Combo Box 適合深度自訂,公式適合追求最大彈性,而 VBA UserForm 則適合打造進階介面。

相關文章:


最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用