如何在Excel下拉列表中輸入時自動完成?
對於包含多個項目的數據驗證下拉列表,您需要在列表中上下滾動以找到所需的項目,或者正確地將整個單詞輸入到列表框中。有沒有辦法讓下拉列表在輸入相應字符時自動完成呢?這將有助於人們在帶有單元格下拉列表的工作表中更高效地工作。本教程提供了兩種方法來幫助您實現這一目標。
使用VBA代碼使下拉列表自動完成
輕鬆在2秒內使下拉列表自動完成
更多下拉列表教程...
使用VBA代碼使下拉列表自動完成
請按照以下步驟操作,以便在單元格中輸入相應字母後使下拉列表自動完成。
首先,您需要在工作表中插入一個組合框並更改其屬性。
- 打開包含您希望設置為自動完成的下拉列表單元格的工作表。
- 在插入組合框之前,您需要將開發工具選項卡添加到Excel功能區中。如果開發工具選項卡已顯示在您的功能區上,轉至第3步。否則,請按照以下步驟操作以使開發工具選項卡出現在功能區中:點擊「文件」>「選項」以打開「選項」窗口。在此「Excel選項」窗口中,點擊左側窗格中的「自定義功能區」,勾選「開發工具」複選框,然後點擊「確定」按鈕。參見截圖:
- 點擊「開發工具」>「插入」>「組合框(ActiveX控件)」。
- 在當前工作表中繪製一個組合框。右鍵單擊它,然後從右鍵菜單中選擇「屬性」。
- 在「屬性」對話框中,請將「(名稱)」字段中的原始文本替換為「TempCombo」。
- 通過點擊「開發工具」>「設計模式」來關閉「設計模式」。
然後,應用以下VBA代碼
- 右鍵單擊當前工作表標籤,然後從上下文菜單中點擊「查看代碼」。參見截圖:
- 在打開的「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
- 同時按下「Alt + Q」鍵以關閉Microsoft Visual Basic Applications窗口。
從現在開始,當您點擊下拉列表單元格時,下拉列表將自動彈出。您可以開始輸入字母,以使相應的項目在所選單元格中自動完成。參見截圖:
輕鬆在2秒內使下拉列表自動完成
對於大多數Excel用戶來說,上述VBA方法很難掌握。但是,使用Kutools for Excel的「可搜索下拉列表」功能,您可以在指定區域內輕鬆啟用數據驗證下拉列表的自動完成功能,僅需2秒鐘。更重要的是,該功能適用於所有Excel版本。
- 要在您的下拉列表中啟用自動完成,首先選擇帶有下拉列表的區域。然後,導航到「Kutools」選項卡,選擇「下拉列表」>「使下拉列表可搜索,自動彈出」。
- 在「使下拉列表可搜索」對話框中,點擊「確定」按鈕以保存設置。

結果
配置完成後,點擊指定範圍內的下拉列表單元格將彈出一個列表框。當輸入字符時,只要有一個項目完全匹配,整個單詞會立即在列表框中高亮顯示,只需按下Enter鍵即可填充到下拉列表單元格中。
相關文章:
如何在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%,每天為您減少數百次鼠標點擊!