KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でコンボボックスに一意の値のみを表示するには、どうすればよいですか?

著者Xiaoyang変更日

コンボボックスにデータリストを設定する際、リスト内に重複する値が含まれていても、それらは自動では除外されません。重複のない項目だけを表示したい場合は、どうすればよいでしょうか?このチュートリアルがお役に立つかもしれません。

VBA コードを使用してコンボボックスに一意の値を表示する


青色の右向き吹き出し矢印 VBA コードを使用してコンボボックスに一意の値を表示する

次の手順に従って、以下の VBA コードを使用すれば、コンボボックス作成時に一意の値のみを追加できます。

1。まず、コンボボックスを挿入します。「開発>挿入>コンボボックス(ActiveX コントロール)」をクリックし、マウスをドラッグしてコンボボックスを描画してください。下図をご参照ください。

[開発] > [挿入] > [コンボ ボックス] をクリックしてコンボ ボックスを挿入します

2。次に、コンボボックスを右クリックし、コンテキストメニューから「コードの表示」を選択してください。下図をご参照ください。

コンボ ボックスを右クリックし、[コードの表示] を選択します

3。「Microsoft Visual Basic for Applications」ウィンドウが表示されたら、元のコードを置き換えるために以下のコードをコピー&ペーストしてください。

VBA コード:一意の値を含むコンボボックス:

Public Sub Populate_combobox_with_Unique_values()
'Updateby Extendoffice
    Dim vStr, eStr
    Dim dObj As Object
    Dim xRg As Range
    On Error Resume Next
    Set dObj = CreateObject("Scripting.Dictionary")
    Set xRg = Application.InputBox("Range select:", "Kutools for Excel", _
                                    ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
    vStr = xRg.Value
    Application.ScreenUpdating = False
    With dObj
        .comparemode = 1
        For Each eStr In vStr
            If Not .exists(eStr) And eStr <> "" Then .Add eStr, Nothing
        Next
        If .Count Then
            ActiveSheet.ComboBox1.List = WorksheetFunction.Transpose(.keys)
        End If
    End With
    Application.ScreenUpdating = True
End Sub

:上記のコードにおけるComboBox1は、作成したコンボボックスの名前です。必要に応じて変更してください。

4。次にF5キーを押してこのコードを実行すると、プロンプトボックスが表示されます。コンボボックスに追加したいソース範囲リストを入力してください。下図をご参照ください。

データ一覧を選択する VBA コード

5。その後、「OK」ボタンをクリックすると、コンボボックスに一意の値のみが表示されます。下図をご参照ください。

コンボ ボックスに重複を除いた値のみが表示されます

ヒント:リボンに「開発」タブが表示されていない場合は、記事「Excel で開発タブを表示する方法(2007/2010/2013 リボン)」をご参照ください。開発タブの表示方法が詳しく解説されています。

kutools for excel AI のスクリーンショット

KUTOOLS AI でExcel の魔法を解き放ちましょう

  • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
  • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
  • VBA コーディング:VBA コードを簡単に記述・実装できます。
  • 数式の解釈:複雑な数式が簡単に理解できます。
  • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得