Excelで複数の選択または値を含むドロップダウンリストを作成するにはどうすればよいですか?
デフォルトでは、Excelのデータ検証ドロップダウンリストで選択できる項目はXNUMXつだけです。 以下のgifに示すように、ドロップダウンリストで複数の選択を行うにはどうすればよいですか? この記事の方法は、問題の解決に役立ちます。
VBAコードを使用して複数選択したドロップダウンリストを作成する
このセクションでは、ワークシートのドロップダウンリストで複数の選択を行うのに役立つXNUMXつのVBAコードを提供します。 XNUMXつのVBAコードは次のことを実現できます。
次のVBAコードのいずれかを適用して、Excelのワークシートのドロップダウンリストで複数の選択を行うことができます。 次のようにしてください。
1.ワークシートを開くと、複数の選択を行うデータ検証ドロップダウンリストが含まれています。 シートタブを右クリックして、 コードを表示 コンテキストメニューから選択します。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウで、以下のVBAコードをコードウィンドウにコピーします。 スクリーンショットを参照してください:
VBAコード1:重複することなくドロップダウンリストで複数の選択を許可する
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3。 プレス 他の + Q を閉じるためのキー アプリケーション向け Microsoft Visual Basic 窓。
これで、現在のワークシートのドロップダウンリストから複数のアイテムを選択できます。
誤ってアイテムを選択し、セル全体をクリアして最初からやり直すことなくアイテムを削除する必要があるとします。 次のVBAコード2はあなたに有利に働きます。
VBAコード2:ドロップダウンリストで重複することなく複数の選択を許可する(既存のアイテムを再度選択して削除する)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
ノート:
素晴らしいツールを使用して、複数の選択肢を持つドロップダウンリストを簡単に作成できます
ご覧のとおり、上記の VBA コードは扱いが簡単ではありません。 ここでは、 複数選択ドロップダウンリスト の特徴 Kutools for Excel クリックするだけでこのタスクを簡単に処理できます。 この機能を使用すると、必要に応じて、指定した範囲、現在のワークシート、現在のワークブック、または開いているすべてのワークブックのドロップダウン リストから複数の項目を簡単に選択できます。
先端: このツールを適用する前に、インストールしてください Kutools for Excel 最初に。 今すぐ無料ダウンロードへ.
- 選択 クツール > ドロップダウンリスト > 複数選択ドロップダウンリスト.
- 複数選択ドロップダウンリスト ダイアログボックスで、次の設定を行います。
2.1) この機能を適用する場所を指定します スコープを設定 セクション;2.2) セル内の選択された項目のセパレーターを指定します。2.3) テキストの方向を決める;2.4)をクリック OK.

Result
関連記事:
Excelのドロップダウンリストに入力するとオートコンプリート
大きな値を持つデータ検証ドロップダウンリストがある場合は、適切なものを見つけるためだけにリストを下にスクロールするか、リストボックスに単語全体を直接入力する必要があります。 ドロップダウンリストの最初の文字を入力するときにオートコンプリートを許可する方法があれば、すべてが簡単になります。 このチュートリアルでは、問題を解決する方法を説明します。
Excelで別のブックからドロップダウンリストを作成する
ブック内のワークシート間でデータ検証ドロップダウンリストを作成するのは非常に簡単です。 しかし、データ検証に必要なリストデータが別のブックにある場合は、どうしますか? このチュートリアルでは、Excelの別のブックからドロップファウンリストを作成する方法について詳しく学習します。
Excelで検索可能なドロップダウンリストを作成する
多数の値を持つドロップダウンリストの場合、適切な値を見つけるのは簡単な作業ではありません。 以前、ドロップダウンボックスに最初の文字を入力したときにドロップダウンリストをオートコンプリートする方法を導入しました。 オートコンプリート機能に加えて、ドロップダウンリストを検索可能にして、ドロップダウンリストで適切な値を見つける作業効率を高めることもできます。 ドロップダウンリストを検索可能にするには、このチュートリアルの方法を試してください。
Excelのドロップダウンリストで値を選択すると、他のセルに自動入力されます
セル範囲B8:B14の値に基づいてドロップダウンリストを作成したとします。 ドロップダウンリストで任意の値を選択する場合、セル範囲C8:C14の対応する値が選択したセルに自動的に入力されるようにします。 問題を解決するために、このチュートリアルの方法はあなたに有利になります。
最高のオフィス生産性向上ツール
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト 工具 (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...) | 12 変換 工具 (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット 工具 (高度な結合行, 分割セル、...) | ... もっと |
Excel スキルを強化する Kutools for Excel、そして今までにない効率を体験してください。 Kutools for Excel 生産性を向上させ、時間を節約するための 300 を超える高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Office Tab Office にタブ付きインターフェイスを導入し、作業を大幅に簡素化します
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!






















