Excelワークシートにコンボボックス(ドロップダウンリストとも呼ばれます)を追加すると、ユーザーの相互作用とデータ入力が強化されます。 2つの主要な方法があります。フォームツールバーまたは開発者タブの使用です。
方法1:フォームツールバーの使用(古いExcelバージョン):
方法2:[開発者]タブの使用(Excel 2007以降):
使用した方法に関係なく、コンボボックスをセルの範囲にリンクして、オプションを動的に設定することをお勧めします。これは、コンボボックスのアイテムのリストを含む「入力範囲」を指定することにより、「フォーマットコントロール...」ダイアログボックス内で、[コントロール]タブの下にあります。
コンボボックスのデータ検証により、ユーザーは事前に定義されたリストから値を選択し、エラーを防ぎます。コンボボックス自体はそのリストへの入力を制限しますが、データ検証を追加すると、追加の制御とエラーメッセージが提供されます。
設定:
=Sheet1!$A$1:$A$10
)。これにより、一貫性が保証されます。この方法では、Excelの組み込みデータ検証を活用して、コンボボックスによって既に課される制限を強化し、より堅牢なソリューションを提供します。ユーザーは、データ検証設定とコンボボックスで定義されているリストからのみを選択できます。
VBAは、特に動的なデータソースを扱う場合、コンボボックスの居住をより強力に制御できます。次のコードスニペットには、「Combobox1」という名前のコンボボックスがSheet1の範囲A1:A10のデータを入力します。
<code class="vba">Private Sub PopulateComboBox() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ThisWorkbook.Sheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row With Me.ComboBox1 .Clear For i = 1 To lastRow .AddItem ws.Cells(i, "A").Value Next i End With End Sub</code>
このコードは最初にワークシートオブジェクトを定義し、列Aにデータを含む最後の行を見つけます。次に、コンボボックス内の既存のアイテムをクリアし、指定された範囲を反復し、各セルの値をコンボボックスにアイテムとして追加します。 "Sheet1"
と"A1:A10"
実際のシート名と範囲に置き換えることを忘れないでください。このマクロをボタンまたはイベントに割り当てて、母集団をトリガーする必要があります。
コンボボックスを別のセルにリンクすると、そのセルのコンボボックスから選択したアイテムが表示されます。これは、コンボボックスのLinkedCell
プロパティを通じて達成されます。
LinkedCell
プロパティを見つけます。$B$1
)。または、VBAコードを使用してこのプロパティを設定できます。
<code class="vba">Private Sub ComboBox1_Change() Range("B1").Value = ComboBox1.Value End Sub</code>
このコードは、コンボボックスの選択が変更されるたびに、セルB1を自動的に更新します。 "B1"
と"ComboBox1"
実際のセルリファレンスとコンボボックス名に置き換えることを忘れないでください。このVBAアプローチは即時の更新を提供しますが、プロパティウィンドウの直接プロパティ設定は、ワークシートが再計算された場合にのみ更新されます。
以上がコンボボックスをExcelに配置する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。