Excelマクロで選択肢を作成する方法|初心者でもできるプルダウンリストの作り方

パソコンパソコン・スマホ教室
スポンサーリンク

Excelを使っていると、データ入力の際に「プルダウンリスト(ドロップダウンリスト)」を活用したい場面が増えてきますよね。例えば、顧客名や商品名など、決まった選択肢から入力してもらうことで、入力ミスを防ぎ、作業効率をアップさせることができます。

今回は、Excelマクロ(VBA)を使って、プルダウンリストを作成する方法を初心者の方にもわかりやすく解説します。特に、45歳以上のパソコンやスマホの操作に不安がある方でも安心して取り組める内容になっています。

スポンサーリンク

Excelマクロでプルダウンリストを作成する基本の流れ

Excelのイメージ

Excelのイメージ

まずは、Excelマクロを使ってプルダウンリストを作成する基本的な流れをご紹介します。

  1. Excelを開くまずは、プルダウンリストを作成したいExcelファイルを開きます。
  2. 「開発」タブを表示するExcelのメニューに「開発」タブが表示されていない場合は、表示させる必要があります。方法は、Excelのオプションから「リボンのユーザー設定」を選び、「開発」にチェックを入れてOKをクリックします。
  3. VBAエディターを開く「開発」タブから「Visual Basic」をクリックして、VBAエディターを開きます。
  4. 新しいモジュールを挿入するVBAエディターで「挿入」→「モジュール」を選択して、新しいモジュールを挿入します。
  5. コードを入力する以下のコードをモジュールに入力します。
Sub CreateDropdownList()
    With Range("").Validation
        .Delete ' 既存の入力規則を削除
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, Formula1:="いちご,みかん,ぶどう"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

このコードを実行すると、シートのからのセルに「いちご」「みかん」「ぶどう」の3つの選択肢が表示されるプルダウンリストが作成されます。

プルダウンリストの選択肢をシートのデータから作成する方法

次に、プルダウンリストの選択肢をExcelシート上のデータから動的に作成する方法をご紹介します。これにより、リストの内容をシート上で簡単に変更できるようになります。

  1. 選択肢となるデータをシートに入力する例えば、Sheet2のB3からB5に「いちご」「みかん」「ぶどう」と入力します。
  2. VBAコードを修正する以下のコードをVBAエディターに入力します。
Sub CreateDynamicDropdownList()
    With Range("").Validation
        .Delete ' 既存の入力規則を削除
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, Formula1:="=Sheet2!$B$3:$B$5"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

このコードを実行すると、シートのからのセルに、Sheet2のB3からB5に入力された内容がプルダウンリストとして表示されます。シート上のデータを変更することで、プルダウンリストの内容も自動的に更新されます。

プルダウンリストの表示件数を増やす方法

Excelの標準のプルダウンリストでは、一度に表示される項目数が限られています。例えば、8件までしか表示されないため、項目数が多い場合に不便に感じることがあります。

この制限を解消するためには、VBAを使用してフォームコントロールの「コンボボックス」を利用する方法があります。コンボボックスを使うことで、表示件数を自由に設定できるようになります。

  1. コンボボックスを挿入するVBAエディターで「挿入」→「ユーザーフォーム」を選択し、フォーム上にコンボボックスを配置します。
  2. コンボボックスにデータを設定するコンボボックスの「RowSource」プロパティに、表示したいデータの範囲を指定します。例えば、「Sheet2!$B$3:$B$5」と指定すると、Sheet2のB3からB5のデータが表示されます。
  3. ユーザーフォームを表示するVBAコードでユーザーフォームを表示させる処理を記述します。

この方法を使うことで、プルダウンリストの表示件数の制限を解消し、より多くの選択肢を一度に表示できるようになります。

よくある質問や疑問

Q1: VBAを使うのは初めてですが、大丈夫でしょうか?

はい、大丈夫です。VBAは初めての方でも取り組みやすい内容から始められます。上記の手順に従って進めていただければ、問題なくプルダウンリストを作成できます。

Q2: 作成したプルダウンリストを他のシートにも適用したいのですが、どうすればよいですか?

他のシートにも同じプルダウンリストを適用するには、対象となるセル範囲を変更した上で、同じVBAコードを実行すれば適用できます。

Q3: プルダウンリストの項目数が多くて、スクロールしないと選べないのが不便です。改善できますか?

はい、改善できます。前述のように、フォームコントロールの「コンボボックス」を使用することで、表示件数を自由に設定でき、スクロールせずに選択肢を表示することが可能です。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Excelマクロを使ってプルダウンリストを作成することで、データ入力の効率化やミスの防止が可能になります。初心者の方でも、上記の手順に従って進めていただければ、簡単にプルダウンリストを作成できます。

さらに、フォームコントロールの「コンボボックス」を利用することで、表示件数の制限を解消し、より多くの選択肢を一度に表示できるようになります。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました