/ / Excel VBA依存コンボボックス

Excel VBA依存のコンボボックス

以下では、 Excel VBA 次のものを含むUserformを作成します。 依存コンボボックス。作成するUserformは次のようになります。

ユーザーはドロップダウンリストからAnimalsを選択します。結果として、ユーザは第2のドロップダウンリストから動物を選択することができる。

Excel VBAの依存コンボボックス

ユーザーは、ドロップダウンリストから[スポーツ]を選択します。結果として、ユーザは、第2のドロップダウンリストからスポーツを選択することができる。

Excel VBAの依存コンボボックス

このユーザーフォームを作成するには、次の手順を実行します。

1. Visual Basic Editorを開きます。プロジェクトエクスプローラが表示されていない場合は、[表示]、[プロジェクトエクスプローラ]をクリックします。

2. Insert、Userformをクリックします。ツールボックスが自動的に表示されない場合は、[表示]、[ツールボックス]の順にクリックします。あなたの画面は以下のように設定する必要があります。

Excel VBAでのユーザーフォームの画面設定

3。 コンボボックス(最初は左側、もう一方は右側)とコマンドボタンを追加します。これが完了したら、その結果は前に示したUserformの画像と一致するはずです。たとえば、ツールボックスからComboBoxをクリックしてコンボボックスコントロールを作成します。次に、ユーザーフォーム上のコンボボックスをドラッグすることができます。

4。 コントロールの名前とキャプションを変更できます。名前はExcel VBAコードで使用されます。キャプションは、画面に表示されるキャプションです。コントロールの名前を変更することをお勧めしますが、ここではいくつかのコントロールしか持たないため、ここでは必要ありません。ユーザーフォームとコマンドボタンのキャプションを変更するには、[表示]、[プロパティ]ウィンドウをクリックし、各コントロールをクリックします。

5.ユーザーフォームを表示するために、ワークシートにコマンドボタンを配置し、次のコード行を追加します。

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Sub UserForm_Initializeを作成します。ユーザーフォームにShowメソッドを使用すると、このサブが自動的に実行されます。

6. Visual Basic Editorを開きます。

7.プロジェクトエクスプローラでUserForm1を右クリックし、コードの表示を次にクリックします。

8.左のドロップダウンリストから「ユーザーフォーム」を選択します。右のドロップダウンリストから「初期化」を選択します。

9.次のコード行を追加します。

Private Sub UserForm_Initialize()

With ComboBox1
    .AddItem "Animals"
    .AddItem "Sports"
    .AddItem "Food"
End With

End Sub

説明:これらのコード行は、最初のコンボボックスを埋めます。

これで、Userformの最初の部分が作成されました。それはすでに素敵に見えますが、最初のコンボボックスから項目を選択すると、何も起こりません。

10.プロジェクトエクスプローラで、UserForm1をダブルクリックします。

11.最初のコンボボックスをダブルクリックします。

12.次のコード行を追加します。

Private Sub ComboBox1_Change()

Dim index As Integer
index = ComboBox1.ListIndex

ComboBox2.Clear

Select Case index
    Case Is = 0
        With ComboBox2
            .AddItem "Dog"
            .AddItem "Cat"
            .AddItem "Horse"
        End With
    Case Is = 1
        With ComboBox2
            .AddItem "Tennis"
            .AddItem "Swimming"
            .AddItem "Basketball"
        End With
    Case Is = 2
        With ComboBox2
            .AddItem "Pancakes"
            .AddItem "Pizza"
            .AddItem "Chinese"
        End With
End Select

End Sub

説明: Excel VBAは可変インデックスの値を使用して後続の各Caseステートメントをテストし、2番目のコンボボックスをどのアイテムで満たすかを確認します。 Select Caseの詳細については、Select Caseプログラムを参照してください。

13.「インポート」ボタンをダブルクリックします。

14.次のコード行を追加します。

Private Sub CommandButton1_Click()

Range("A1").Value = ComboBox2.Value

End Sub

結果:

Excel VBAの依存コンボボックス

また読む: