配列からデータ検証リストを作成する Excel VBA
Microsoft Excel では、データ検証リストは、ワークシート内のデータを検証できるツールの 1 つです。実際には、特定の範囲の値を選択する時間を大幅に節約できます。セルが特定の値しかとらない場合は、何度も入力する必要はありません。代わりに、Excel ワークシートでデータ検証用のドロップダウン リストを作成できます。 このチュートリアルでは、Excel VBA を使用して配列から最初のデータ検証リストを作成する方法を正確に学習します。
このチュートリアルは、適切な例と適切な図を使用して適切に説明します。したがって、記事全体を読んで知識を深めてください。
この練習用ワークブックをダウンロードしてください。
Excel のデータ検証とは
現在、データ検証により、セルへの入力を制御できます。フィールドに入力する値が限られている場合は、ドロップダウン リストを使用してデータを検証できます。何度も入力してデータを入力する必要はありません。また、データ検証リストにより、入力にエラーがないことが保証されます。
では、なぜデータ検証と呼ばれるのでしょうか?有効なデータのみがリストに含まれるようにするためです。
基本的に、初めてデータセットを使用するユーザーに役立ちます。データを手動で入力する必要はありません。代わりに、作成したドロップダウンまたはデータ検証リストから任意の値を選択できます。
Excel VBA を使用して配列からデータ検証リストを作成するための段階的な手順
まず、データセットを見てください:
ここに、何人かの営業担当者のデータセットがあります。私たちは彼らの作業地域と販売製品を持っています。ここでは、Region 列と Product 列のデータ検証リストを作成します。
データ検証リストには以下が含まれます:
- 地域 :「北」、「南」、「東」、「西」
- 商品 :「テレビ」、「冷蔵庫」、「携帯電話」、「ノートパソコン」、「エアコン」
従来の方法で検証リストを作成できます。ただし、ここでは VBA コードを使用します。次に、VBA コードで、それらを配列に入れます。その配列から、データを検証します。
次のセクションでは、コードを段階的に作成します。私と一緒にコードを作成することをお勧めします。このようにして、コードをよりよく学ぶことができます。それでは始めましょう。
配列から Excel データ検証リストを作成する VBA コードをビルドする
このセクションでは、Excel で VBA コードを使用して配列からデータ検証リストを作成する方法を学習します。ここでは、私たちの 地域 と 商品 列にはドロップダウン リストが含まれます。
📌 ステップ 1:VBA エディターを開く
- まず Alt+F11 を押します キーボードで VBA エディターを開きます。
- 次に、挿入>モジュールを選択します .
📌 ステップ 2:サブプロシージャーを宣言する
次のコードを入力してください:
Sub data_validation_from_array()
End Sub
これが私たちのサブ手順です。この中にすべてのコードを入力します。
📌 ステップ 3:必要な変数を宣言する
次に、さらに使用する必要がある必要な変数を宣言します。
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
End Sub
配列を Variant として宣言しています .この変数には、いくつかの文字列があります。
地域範囲、商品範囲: これらの変数は、列の領域と製品の範囲を格納します
📌 ステップ 4:配列を設定する
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
End Sub
ご覧のとおり、地域変数と製品変数にいくつかの文字列を保存しました。それらを使用してドロップダウン リストを作成します。
続きを読む: VBA で文字列を配列に分割する方法 (3 つの方法)
📌 ステップ 5:データ検証範囲を設定する
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
End Sub
region_range =Range(“C5:C10”) に設定 :このコード行によって、 地域 を示しています。
product_range =Range(“D5:D10”) を設定 :そして、このコード行は Product を指定しています
続きを読む: Excel VBA で範囲を配列に変換する方法 (3 つの方法)
📌 ステップ 6:地域列にデータ検証リストを作成する
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
With region_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
End Sub
region_range.Validation を使用: この行で、Region の列を選択します .
.削除: 既存の検証リストがある場合は、それらを削除します。
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, “,”) :ここにデータ検証リストを追加しています。
- AlertStyle ユーザーがリスト外のエントリを入力した場合に表示するアラートのタイプを決定します。
- Formula1:=Join(region, “,”) :式によると 検証リストに値を提供しています。 地域 にいくつかの文字列がありました 参加 メソッドでは、それらをセパレーターのコンマ (,) で結合しています。これらの値または項目は、検証リストのソースになります。
.IgnoreBlank =True :この行では、空白の値を許可しています。
.InCellDropdown =True :許容値のドロップダウン リストが表示されます。
.ErrorTitle =“エラー” :データ検証エラー ダイアログ ボックスのタイトルを設定しています。
.ErrorMessage ="有効な入力を提供してください" :データ検証エラー ダイアログ ボックスにエラー メッセージを設定します
.ShowInput =True: ユーザーがデータ検証範囲内のセルをクリックするたびに、データ検証入力メッセージが表示されます。
.ShowError =True: ユーザーが無効な入力を行うと、エラー ダイアログ ボックスが表示されます。
続きを読む: Excel で列から配列に一意の値を取得する VBA (3 つの基準)
類似の読み物
- Excel で配列を転置する VBA (3 つの方法)
- Excel でテーブル配列に名前を付ける方法 (簡単な手順で)
- CSV ファイルを配列に読み込む Excel VBA (4 つの理想的な例)
- Excel VBA:配列内の複数の条件でフィルター処理する方法 (7 つの方法)
📌 ステップ 7:製品列にデータ検証リストを作成する
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
With region_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
With product_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(product, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
End Sub
product_range.Validation を使用: この行で、Product の列を選択します .
.削除: 既存の検証リストがある場合は、それらを削除します。
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(product, “,”) :ここにデータ検証リストを追加しています。
- AlertStyle ユーザーがリスト外のエントリを入力した場合に表示するアラートのタイプを決定します。
- Formula1:=Join(region, “,”) :式による 、検証リストに値を提供しています。 製品 にはいくつかの文字列がありました 参加 メソッドでは、それらをセパレーターのコンマ (,) で結合しています。これらの値または項目は、検証リストのソースになります。
.IgnoreBlank =True :この行では、空白の値を許可しています。
.InCellDropdown =True :許容値のドロップダウン リストが表示されます。
.ErrorTitle =“エラー” :データ検証エラー ダイアログ ボックスのタイトルを設定しています。
.ErrorMessage ="有効な入力を提供してください" :データ検証エラー ダイアログ ボックスにエラー メッセージを設定します
.ShowInput =True: ユーザーがデータ検証範囲内のセルをクリックするたびに、データ検証入力メッセージが表示されます。
.ShowError =True: ユーザーが無効な入力を行うと、エラー ダイアログ ボックスが表示されます。
VBA コードを実行
すでに VBA コードを作成しています。ここで、コードが正しく機能しているかどうかを確認します。このコードを現在のシートで実行します。
まず、 Alt+F8 を押します をクリックして [マクロ] ダイアログ ボックスを開きます。
次に、data_validation_from_array を選択します [実行] をクリックします。 .
Region の任意のセルをクリックします。
ここでは、セルの横にドロップダウン アイコンが表示されます。次に、ドロップダウン アイコンをクリックします。
ここでは、検証リストのすべての値を確認できます。 地域でこの価値を提供しました 配列。次に、各セルのデータを選択します。
商品をチェックしましょう 桁。 Product の任意のセルをクリックします。
ここにもドロップダウン アイコンがあります。では、ドロップダウンをクリックしてください。
ご覧のとおり、 製品 で指定したすべての値は VBA コードの配列をここに示します。そのため、Excel で VBA コードを使用して、配列から検証リストを作成することに成功しました。
では、与えられた配列にない値を与えましょう。 「ヘッドフォン」という製品を試しています。
次に Enter を押します .その後、次のように表示されます:
ご覧のとおり、エラー ダイアログ ボックスが表示されています。 VBA コードでエラー タイトルとエラー メッセージを既に設定しており、まさにそれが表示されています。
続きを読む: Excel で複数選択可能なデータ検証ドロップダウン リストを作成する
💬覚えておくべきこと
✎ データ検証のある任意のセルをコピーして、他のセルに貼り付けることができます。結果のセルには、同じデータ検証リストが含まれます。
✎ これは動的配列ではありません。データ検証リストを拡張したい場合は、配列に文字列として追加するだけです。うまくいきます。
結論
結論として、このチュートリアルで、VBA コードを使用して Excel でデータ検証リストを作成するための有用な知識が得られたことを願っています。これらすべての手順を学習し、データセットに適用することをお勧めします。練習用ワークブックをダウンロードして、自分で試してみてください。また、コメントセクションでフィードバックをお寄せください。皆様の貴重なフィードバックは、このようなチュートリアルを作成するモチベーションを高めてくれます。
ウェブサイト Exceldemy.com も忘れずにチェックしてください。 さまざまな Excel 関連の問題と解決策について説明します。
新しい方法を学び続け、成長し続けてください!
関連記事
- Excel のデータ検証式で IF ステートメントを使用する方法 (6 つの方法)
- Excel の VBA でデータ検証リストに名前付き範囲を使用する
- Excel VBA で 2D 配列を保持する ReDim する方法 (2 つの簡単な方法)
- Excel VBA:配列から重複を削除する (2 つの例)
- VBA (マクロ、UDF、およびユーザー フォーム) を使用して配列の平均を計算する
-
一般仕訳データから Excel で総勘定元帳を作成する
すべてのビジネスマンにとって、毎日の取引に仕訳帳を使用するのは一般的です。これらのエンティティは、Excel またはその他の適切なプラットフォームに入力できます。この総勘定元帳データを使用して、総勘定元帳と呼ばれる特定の勘定科目フォームを作成できます。この記事では、Excel で総勘定元帳を作成する方法を紹介します。 一般的なジャーナル データから。この記事が参考になり、一般仕訳データと総勘定元帳に関する多くの知識が得られることを願っています。 ジェネラル ジャーナルとは 一般仕訳帳は、企業の金融取引の会計記録です。これは、すべての企業エンティティのマスターです。会社が年間を通じて生成する各
-
Excel でデータからマインド マップを作成する方法 (2 つの一般的な方法)
Excel でマインド マップを作成する方法をお探しですか?あなたは正しい場所に着陸しました。 Excel ではユーザーが グラフ を作成できますが、 とスパークライン データをよりよく視覚化するために、一部のデータからマインド マップを直接作成するためのツールは含まれていません。しかし、まったく心配しないでください。 Excel の機能を使用してマインド マップを作成する方法があります。この記事では、Excel でデータからマインド マップを作成する方法を紹介します。 以下のリンクから練習帳をダウンロードできます。 マインド マップとは マインドマップは基本的に、概念に基づいてランク順に