Skip to main content

如何在Excel下拉列表中輸入時自動完成?

Author: Siluvia Last Modified: 2025-05-12

對於包含多個項目的數據驗證下拉列表,您需要在列表中上下滾動以找到所需的項目,或者正確地將整個單詞輸入到列表框中。有沒有辦法讓下拉列表在輸入相應字符時自動完成呢?這將有助於人們在帶有單元格下拉列表的工作表中更高效地工作。本教程提供了兩種方法來幫助您實現這一目標。

A screenshot demonstrating autocomplete functionality in an Excel drop-down list

使用VBA代碼使下拉列表自動完成
輕鬆在2秒內使下拉列表自動完成

更多下拉列表教程...


使用VBA代碼使下拉列表自動完成

請按照以下步驟操作,以便在單元格中輸入相應字母後使下拉列表自動完成。

首先,您需要在工作表中插入一個組合框並更改其屬性。

  1. 打開包含您希望設置為自動完成的下拉列表單元格的工作表。
  2. 在插入組合框之前,您需要將開發工具選項卡添加到Excel功能區中。如果開發工具選項卡已顯示在您的功能區上,轉至第3步。否則,請按照以下步驟操作以使開發工具選項卡出現在功能區中:點擊「文件」>「選項」以打開「選項」窗口。在此「Excel選項」窗口中,點擊左側窗格中的「自定義功能區」,勾選「開發工具」複選框,然後點擊「確定」按鈕。參見截圖:
    A screenshot showing the Excel Options window where the Developer tab is enabled
  3. 點擊「開發工具」>「插入」>「組合框(ActiveX控件)」。
    A screenshot of selecting Combo Box under Developer tools in Excel
  4. 在當前工作表中繪製一個組合框。右鍵單擊它,然後從右鍵菜單中選擇「屬性」。
    A screenshot illustrating drawing and selecting properties for a Combo Box in Excel
  5. 在「屬性」對話框中,請將「(名稱)」字段中的原始文本替換為「TempCombo」。
    A screenshot of the Properties dialog for a Combo Box in Excel, renaming it to TempCombo
  6. 通過點擊「開發工具」>「設計模式」來關閉「設計模式」。

然後,應用以下VBA代碼

  1. 右鍵單擊當前工作表標籤,然後從上下文菜單中點擊「查看代碼」。參見截圖:
    A screenshot showing the context menu to access View Code for the current worksheet in Excel
  2. 在打開的「Microsoft Visual Basic for Applications」窗口中,請將以下VBA代碼複製並粘貼到工作表的代碼窗口中。
    VBA代碼:在下拉列表中輸入時自動完成
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Update by Extendoffice: 2020/01/16
        Dim xCombox As OLEObject
        Dim xStr As String
        Dim xWs As Worksheet
        Dim xArr
        
        Set xWs = Application.ActiveSheet
        On Error Resume Next
        Set xCombox = xWs.OLEObjects("TempCombo")
        With xCombox
            .ListFillRange = ""
            .LinkedCell = ""
            .Visible = False
        End With
        If Target.Validation.Type = 3 Then
            Target.Validation.InCellDropdown = False
            Cancel = True
            xStr = Target.Validation.Formula1
            xStr = Right(xStr, Len(xStr) - 1)
            If xStr = "" Then Exit Sub
            With xCombox
                .Visible = True
                .Left = Target.Left
                .Top = Target.Top
                .Width = Target.Width + 5
                .Height = Target.Height + 5
                .ListFillRange = xStr
                If .ListFillRange = "" Then
                    xArr = Split(xStr, ",")
                    Me.TempCombo.List = xArr
                End If
                .LinkedCell = Target.Address
            End With
            xCombox.Activate
            Me.TempCombo.DropDown
        End If
    End Sub
    Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        Select Case KeyCode
            Case 9
                Application.ActiveCell.Offset(0, 1).Activate
            Case 13
                Application.ActiveCell.Offset(1, 0).Activate
        End Select
    End Sub
    A screenshot showing VBA code added to enable autocomplete in Excel drop-down lists
  3. 同時按下「Alt + Q」鍵以關閉Microsoft Visual Basic Applications窗口。

從現在開始,當您點擊下拉列表單元格時,下拉列表將自動彈出。您可以開始輸入字母,以使相應的項目在所選單元格中自動完成。參見截圖:

A screenshot demonstrating autocomplete functionality in an Excel drop-down list

備註:此代碼不適用於合併單元格。

輕鬆在2秒內使下拉列表自動完成

對於大多數Excel用戶來說,上述VBA方法很難掌握。但是,使用Kutools for Excel的「可搜索下拉列表」功能,您可以在指定區域內輕鬆啟用數據驗證下拉列表的自動完成功能,僅需2秒鐘。更重要的是,該功能適用於所有Excel版本。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...
  1. 要在您的下拉列表中啟用自動完成,首先選擇帶有下拉列表的區域。然後,導航到「Kutools」選項卡,選擇「下拉列表」>「使下拉列表可搜索,自動彈出」。
  2. 在「使下拉列表可搜索」對話框中,點擊「確定」按鈕以保存設置。
  3. A screenshot of Kutools’ settings for enabling searchable drop-down lists in Excel

結果

配置完成後,點擊指定範圍內的下拉列表單元格將彈出一個列表框。當輸入字符時,只要有一個項目完全匹配,整個單詞會立即在列表框中高亮顯示,只需按下Enter鍵即可填充到下拉列表單元格中。

A demonstration of the autocomplete feature in Excel drop-down lists using Kutools

備註:要應用此功能,請下載並安裝Kutools for Excel。或者您可以點擊以了解更多有關此功能的信息

相關文章:

如何在Excel中創建帶有多個複選框的下拉列表?
許多Excel用戶傾向於創建帶有多個複選框的下拉列表,以便每次從列表中選擇多個項目。實際上,您無法使用數據驗證創建帶有多個複選框的列表。在本教程中,我們將向您展示兩種在Excel中創建帶有多個複選框的下拉列表的方法。本教程提供了解決問題的方法。

在Excel中從另一個工作簿創建下拉列表
在同一工作簿中的工作表之間創建數據驗證下拉列表非常容易。但是,如果您需要進行數據驗證的列表數據位於另一個工作簿中,您該怎麼辦?在本教程中,您將詳細學習如何在Excel中從另一個工作簿創建下拉列表。

在Excel中創建可搜索的下拉列表
對於具有大量值的下拉列表,找到合適的值並不容易。之前我們介紹了一種在下拉框中輸入首字母時自動完成下拉列表的方法。除了自動完成功能外,您還可以使下拉列表可搜索,以提高在下拉列表中查找合適值的工作效率。要使下拉列表可搜索,請嘗試本教程中的方法。

在Excel下拉列表中選擇值時自動填充其他單元格
假設您已經根據B8:B14單元格範圍內的值創建了一個下拉列表。當您在下拉列表中選擇任何值時,您希望C8:C14單元格範圍內的相應值能夠自動填充到所選單元格中。為了解決這個問題,本教程中的方法將對您有所幫助。

更多下拉列表教程...

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!