Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2257 / 13645 ツリー ←次へ | 前へ→

【69105】コンボボックス1の結果によって、次のコンボボックスの参照範囲を変えたい なるち 11/5/17(火) 15:21 質問[未読]
【69106】Re:コンボボックス1の結果によって、次の... Jaka 11/5/17(火) 15:43 発言[未読]
【69107】Re:コンボボックス1の結果によって、次の... なるち 11/5/17(火) 15:53 発言[未読]
【69108】Re:コンボボックス1の結果によって、次の... なるち 11/5/17(火) 16:17 お礼[未読]

【69105】コンボボックス1の結果によって、次のコ...
質問  なるち  - 11/5/17(火) 15:21 -

引用なし
パスワード
   検索をかけてみましたが、エラーになってしまうので
こちらに投稿させていただきました。

コンボボックス1の選択結果により、
コンボボックス2のリストを変動したいです。

<コンボボックス1>
refシートのU列のリストを参照しています。

  Dim lRow As Long
    With Worksheets("ref")
      lRow = .Range("U" & Rows.Count).End(xlUp).Row
    End With
    With ComboBox1
      .ColumnCount = 3
      .ColumnWidths = "50;50;50"
      .RowSource = "Ref!U2:U" & lRow
    End With

<コンボボックス2>
コンボボックス1で選択された結果により、表示されるリストを変えたいです。
項目1を選択→refシートのA1〜A20をリスト化
項目2を選択→refシートのC1〜C20をリスト化
項目3・・・・・

リスト参照する文面は上記の応用で良いと思うのですが、
選択結果によるリストの切り替えがわかりません。


初心者なため、構文もわからず、手持ちの本でもどうにもならないため、
説明が下手で申し訳ないのですが、よろしくお願いいたします。

【69106】Re:コンボボックス1の結果によって、次...
発言  Jaka  - 11/5/17(火) 15:43 -

引用なし
パスワード
   直接でなくすみません。
ここ参考にならないでしょうか?
ht  tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=157;id=FAQ

目安箱の157番。

【69107】Re:コンボボックス1の結果によって、次...
発言  なるち  - 11/5/17(火) 15:53 -

引用なし
パスワード
   早々の書き込みありがとうございます。
ですが、どう適用すれば良いのかわかりません。

私の説明も悪かったと思うのですが、
コンボボックス1に設定するリストはすでに出来ており、
ボックスにも反映できています。

このボックスで選択したリストの結果により、
コンボボックス2に表示されるリスト範囲を変えたいのです。

申し訳ありませんが、引き続きご教授のほど、よろしくお願いいたします。

【69108】Re:コンボボックス1の結果によって、次...
お礼  なるち  - 11/5/17(火) 16:17 -

引用なし
パスワード
   出来ました。
ありがとうございました。

参考までに、下記へ記述を添付します。
refシートのAA1へ、コンボボックスで選択されたリストが入力されています。


Private Sub ComboBox1_Change()

  Sheets("ref").Select
  Selection.Value = ComboBox1


''houkokuを宣言
  Dim houkoku As String
      houkoku = Worksheets("ref").Range("AA1").Value


''項目1を選択した場合
  If houkoku = "項目1" Then
  
  Dim lRow As Long
    With Worksheets("ref")
      lRow = .Range("A" & Rows.Count).End(xlUp).Row
    End With
    With ComboBox2
      .ColumnCount = 3
      .ColumnWidths = "50;50;50"
      .RowSource = "ref!A2:A" & lRow
    End With
  
''項目2を選択した場合
  ElseIf houkoku = "項目2" Then
  
  Dim lRow2 As Long
    With Worksheets("ref")
      lRow2 = .Range("B" & Rows.Count).End(xlUp).Row
    End With
    With ComboBox2
      .ColumnCount = 3
      .ColumnWidths = "50;50;50"
      .RowSource = "ref!B2:B" & lRow2
    End With
    
  End If

2257 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free