0

私は 2 つのコンボボックスを持っています。最初のコンボボックスには {One、Tow、Three} の 3 つのアイテムがあります。次に、ユーザーがコンボボックス 1 で選択した内容に基づいて 2 番目のコンボボックスをロードしたいと思います。たとえば、ユーザーがコンボボックス 1 から One を選択すると、namebox1 がコンボボックス 2 に入力され、ユーザーがコンボボックス 2 からツーを選択すると、namebox2 がコンボボックス 2 に入力されます。VBA でこれを行う方法を教えてください。 ?

ありがとう

更新コードは次のとおりです。

    Private Sub ComboBox1_Change()
     Me.ComboBox2.Clear
     Select Case Me.ComboBox1.Value
       Case "One"
        With Me.ComboBox2
            .RowSource = "nameBox1"
        End With
       Case "Two"
        With Me.ComboBox2
            .RowSource = "nameBox1"
        End With
       Case "Three"
        With Me.ComboBox2
             .RowSource = "nameBox1"
        End With
     End Select
    End Sub

ComboBox1 の設定に .addItem を使用しなかったことに注意してください。Excelコレクション選択ボックスを使用している同じメソッド.RowSourceによって入力されています

4

1 に答える 1

1

これを行う最も簡単な方法は、Select Caseステートメントを使用することです。あなたが持っていたとしましょう

Private Sub ComboBox1_Change()

Me.ComboBox2.Clear

Select Case Me.ComboBox1.Value
    Case "One"
        ' If your data was information you wanted to put in yourself:
        With Me.ComboBox2
            .AddItem "Adam"
            .AddItem "Allen"
            .AddItem "Andy"
        End With
    Case "Two"
        ' If your data existed in a worksheet range
        ComboBox2.RowSource = MyRange.Address            
        End With
    End Select

End Sub

NameBoxこれがあなたの理解に十分であることを願っています - そうでなければ、私は少し混乱しています -あなたの質問であなたが何を意味するのか説明してもらえますか

于 2012-11-13T22:35:18.020 に答える