Skip to main content

如何從下拉列表中選擇多個項目到 Excel 單元格?

Author: Sun Last Modified: 2025-05-12

在 Excel 中管理數據通常涉及從下拉列表中選擇值。但如果您需要選擇多個項目並將它們顯示在單一單元格中該怎麼辦呢?Excel 預設並不提供此功能。本指南將引導您完成在 Excel 的下拉列表中創建多選的最佳技術。

A screenshot showing a single drop-down list selection in a single Excel cell Arrow right A screenshot showing the result of multiple items selected from a drop-down list into one cell in Excel

使用 VBA 程式碼從下拉列表中選擇多個項目

使用 Kutools for Excel 輕鬆從下拉列表中選擇多個項目


使用 VBA 程式碼從下拉列表中選擇多個項目

以下是一些可以幫助您完成此任務的 VBA 程式碼。

從單元格中的下拉列表選擇重複項目

1. 在建立下拉列表後,右鍵點擊工作表標籤以從上下文菜單中選擇「檢視程式碼」。
A screenshot showing the context menu with the View Code option selected

2. 然後在「Microsoft Visual Basic for Applications」窗口中,將以下程式碼複製並粘貼到空白腳本中。

VBA:從單元格中的下拉列表選擇多個項目

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

3. 保存程式碼並關閉窗口返回到下拉列表。現在您可以從下拉列表中選擇多個項目。

注意:

1. 使用 VBA 時,它會用空格分隔項目,您可以根據需要更改 "xStrNew = xStrNew & " " & Target.Value" 來更改分隔符。例如,"xStrNew = xStrNew & "," & Target.Value" 將使用逗號分隔項目。

2. 此 VBA 程式碼適用於工作表中的所有下拉列表。

從下拉列表選擇多個項目到單元格且不重複

如果您只想從下拉列表中選擇唯一項目到單元格,可以重複上述步驟並使用以下程式碼。

VBA:從下拉列表選擇多個項目到單元格且不重複

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim I As Integer
    Dim xRgVal As Range
    Dim xStrNew As String
    Dim xStrOld As String
    Dim xFlag As Boolean
    Dim xArr
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xFlag = True
    xStrNew = " " & Target.Value & " "
    Application.Undo
    xStrOld = Target.Value
    If InStr(1, xStrOld, xStrNew) = 0 Then
        xStrNew = xStrNew & xStrOld & " "
    Else
        xStrNew = xStrOld
    End If
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub

上述兩個 VBA 程式碼都不支持刪除單元格內容的特定部分;它們只允許清除單元格中的所有項目。


使用 Kutools for Excel 輕鬆從下拉列表中選擇多個項目

使用「Kutools for Excel」簡化您的 Excel 工作流程!其「多選下拉列表」功能讓您可以輕鬆從下拉列表中選擇多個項目,並自動將它們顯示在單一單元格中,無需複雜的 VBA 編程。告別繁瑣的手動過程,享受更智能、更流暢的方式處理 Excel 中的下拉列表。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 點擊「Kutools」>「下拉列表」>「啟用高級下拉列表」。然後,再次從「下拉列表」中點擊「多選下拉列表」。請參閱截圖:

click to enable Advanced Drop-down List arrow right click Multi-select Drop Down List feature

2. 在「多選下拉列表」對話框中,請按如下配置:

  • 2.1) 選擇包含下拉列表的單元格;
  • 2.2) 在「區分符」框中,輸入一個分隔符,您將用它來分隔多個項目;
  • 2.3) 根據需要勾選「啟用搜索功能」選項。(如果勾選此選項,稍後可以在下拉列表中進行搜索。)
  • 2.4) 點擊「確定」按鈕。
  • specify the options in the dialog box

現在,當您點擊帶有下拉列表的單元格時,會出現一個列表框。您可以點擊 按鈕將項目添加到單元格,並根據需要點擊 按鈕移除項目。請參閱下面的示範:

在 Excel 中從下拉列表選擇多個項目不必是一個具有挑戰性的任務。通過本指南中概述的逐步方法,您可以快速使用 VBA 程式碼啟用多選,或使用像 Kutools for Excel 這樣的工具簡化該過程。如果您對探索更多 Excel 技巧和竅門感興趣,我們的網站提供了數千個教程


相關文章:

在 Excel 中插入下拉列表
您可以通過使用下拉列表幫助自己或他人在工作表中更高效地進行數據輸入。有了下拉列表,您可以快速從列表中選擇一個項目,而不用手動輸入值。

允許多選的下拉列表
預設情況下,每次只能從 Excel 數據驗證下拉列表中選擇一個項目。如何實現如下面屏幕截圖所示的多選呢?本文中的方法可以幫助您解決這個問題。

在 Excel 下拉列表中輸入時自動完成
如果您的數據驗證下拉列表包含大量值,則需要在列表中向下滾動才能找到合適的值,或者直接在列表框中輸入整個單詞。如果有一種方法可以在下拉列表中輸入首字母時自動完成,一切將變得更加容易。

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

最佳辦公效率工具

? 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 中啟用標籤式編輯和閱讀
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 提升 50% 的生產力,每天為您減少數百次鼠標點擊!