- ベストアンサー
excelのコンボボックスでの階層リスト表示がうまくいかない
- Excelのコンボボックスで階層にわけてリスト表示させる方法を教えてください。
- 会社名、事業部名、部門名、担当名のコンボボックスを作成し、階層に応じてリストの内容を制御したいです。
- 現在は3番目までうまくいっていますが、4番目のコンボボックスで2番目のテキストボックスに値を代入できません。どうすればよいですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
With を使う必要は無いですね >With Worksheets("会社名") > Me.ComboBox1.RowSource = .Range("A1").CurrentRegion.Address(External:=True) >End With ↓ Me.ComboBox1.RowSource = Worksheets("会社名").Range("A1").CurrentRegion.Address(External:=True) >With Worksheets("事業部名") > Me.ComboBox2.RowSource = .Range(add事業部).Address(External:=True) >End With ↓ Me.ComboBox2.RowSource = Worksheets("事業部名").Range(add事業部).Address(External:=True)
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
こんにちは、参考に Option Explicit '-1---ComboBox1------------------- Private Sub ComboBox1_DropButtonClick() With Worksheets("会社名") Me.ComboBox1.RowSource = .Range("A1").CurrentRegion.Address(External:=True) End With End Sub '-2----ComboBox1------------------- Private Sub ComboBox1_Click() Me.TextBox1.Text = Me.ComboBox1.Column(1) End Sub '-3----ComboBox2------------------- Private Sub ComboBox1_Change() Dim add事業部 As String If Me.ComboBox1.ListIndex = -1 Then Me.ComboBox2.RowSource = "" Exit Sub End If Select Case Me.ComboBox1.ListIndex Case 0: add事業部 = "A1:B6" Case 1: add事業部 = "A7:B11" Case 2: add事業部 = "A12:B15" Case 3: add事業部 = "A16:B25" End Select With Worksheets("事業部名") Me.ComboBox2.RowSource = .Range(add事業部).Address(External:=True) End With End Sub '---4--TextBox2に値代入-------------------- Private Sub ComboBox2_Click() Me.TextBox2.Text = Me.ComboBox2.Column(1) End Sub
お礼
ご回答ありがとうございました。 別の方法でいちからやり直すことにしていまったのですが、 今後参考にさせて頂きます。
お礼
ご回答ありがとうございました。 別の方法でいちからやり直すことにしていまったのですが、 今後参考にさせて頂きます。