| 
    
     |  | 超初心者の質問で申し訳ありませんが どなたか助けて下さい。
 
 質問は コンボックスにデータを追加するマクロで
 ちょっとつまずいてしまったので今回ここにアップ
 させていただきました。
 条件としては、コンボックス1と2があり、その
 コンボックス1のなかにはあるリストを追加します。
 このコンボックス1で選択した時、その中のデータに
 応じてコンボックス2のリストを変化させるマクロです。
 
 データ
 │ 1 │ 2 │ 3
 ─┼───┼───┼─────────
 │コン1│   │コン2
 1│ A店│ A │りんご
 2│ B店│ A │みかん
 3│ C店│ A │すいか
 4│ D店│ A │かき
 5│ E店│ B │いちご
 6│ F店│ B │めろん
 7│ G店│ B │ぱいん
 8│   │ B │もも
 9│   │   │
 10│   │   │
 
 コンボックス1 →→ コンボックス2
 B店         いちご
 めろん
 ぱいん
 もも
 
 上のようなデータで例えばコンボックス1で
 B店を選択すると コンボックス2ではB店でのみ
 扱っているリストを表示(コンボックスのアイテム)に
 させたいのですが、コンボックスにデータを入力させる
 為に、Find メソッドで始めの行数を取得し、 FindNextを
 使って最後の行数を取得して、その間のデータを取り込もうと
 考えているのですが、FindNextを使うとうまく行かないので
 どなたかアドバイスの方、宜しくお願いします。
 長々と書いてしまい申し訳ありません。
 
 With Worksheets("Sheets1").Range("D2:D400")
 KENSAKU = お店ComboBox.Value
 Set 検索 = .Find(KENSAKU)
 If Not 検索 Is Nothing Then
 firstAddress = 検索.Address
 KAZU = Range(firstAddress).Row
 お店コード = Worksheets("Sheets1").Cells(KAZU, 3).Value
 End If
 End With
 
 With Worksheets("Sheets1").Range("G2:G9000")
 KENSAKU = お店コード
 Set 検索 = .Find(KENSAKU)
 If Not 検索 Is Nothing Then
 firstAddress = 検索.Address
 KAZU = Range(firstAddress).Row
 End If
 End With
 
 With Worksheets("Sheets1").Range("G2:G9000")
 EKAZU = 0
 Set 検索 = .Find(KENSAKU)
 If Not 検索 Is Nothing Then
 firstAddress = 検索.Address
 Do
 Set 検索 = .FindNext(KENSAKU)←ここでエラーになります。
 LastAddress = 検索.Address
 If KAZU = EKAZU Then
 Exit Do
 Else
 EKAZU = Range(LastAddress).Row
 End If
 Loop
 End If
 End With
 For i = KAZU To EKAZU
 If Worksheets("Sheets1").Cells(i, 9).Value = "" Then
 
 Else
 売物ComboBox.AddItem Worksheets("Sheets1").Cells(i, 9).Value
 End If
 Next
 
 |  |