| 
    
     |  | ▼Jaka さん: 
 回答ありがとうございました。
 
 質問のしかたがわかりにくかったことと思います。
 申し訳ありません。^^;
 
 今回の内容は[#5706]の続きになっています。
 これで、抽出されてきたデータのC列の部分をコンボボックスに入れたいと
 考えたのです。(そのため、データ数が不規則なんです。)
 
 教えていただいたコードを使わせてもらったところ、
 ユーザーフォームを作成した場合のはうまく行きました。
 
 他の2つについては、私がよく理解できていないため、使い方が
 間違っているのだと思います。
 たぶん、他にも作成しておかなければいけないものがあるのでしょうか?
 
 >フォームの方(標準モジュール)
 >
 >Sub Fcomb()
 >  With Worksheets("Sheet1").Shapes("ドロップ 1").OLEFormat.Object
 >    .Placement = xlFreeFloating
 >    .ListFillRange = "Sheet2!C3:" & Sheets("Sheet2").Range("C65536").End(xlUp).Address(0, 0)
 >    .ListIndex = 0
 >    .OnAction = "コンボチェンジ"
 >  End With
 >End Sub
 >
 >Sub コンボチェンジ()
 >  With ActiveSheet.Shapes("ドロップ 1").OLEFormat.Object
 >    MsgBox .List(.ListIndex)
 >  End With
 >End Sub
 
 とりあえず
 コマンドボタンをひとつ作成してそのボタンにFcomb()を登録してみました。
 が、「指定した名前のアイテムが見つかりませんでした」というエラーになりました。
 Shapesってなんでしょうか?
 コンボボックスはフォームの方からつくり、それにコンボチェンジ()
 を登録したのですが、間違ってますでしょうか?
 
 
 >ボタン&コンボともにコントロール(シートモジュール)
 >
 >Private Sub CommandButton1_Click()
 >  Application.EnableEvents = False
 >  Sheets("Sheet1").ComboBox1.Text = Clear
 >  'Sheets("Sheet1").ComboBox1.ListFillRange = Clear
 >  Sh2C = Sheets("Sheet2").Range("C65536").End(xlUp).Address(0, 0)
 >  Sheets("Sheet1").ComboBox1.ListFillRange = "Sheet2!C3:" & Sh2C
 >  Application.EnableEvents = True
 >End Sub
 >
 >Private Sub ComboBox1_Change()
 >  MsgBox ComboBox1.List(ComboBox1.ListIndex)
 >End Sub
 
 こちらの方は、まったくもってやり方がわかりませんでした。TT
 コントロールツールボックスの方からボタンとコンボボックスを作成すれば
 よかったんでしょうか?(使ったこと無いんです^^;)
 一応、それで作成して、シートモジュールにコードをコピーしてみましたが
 ボタンが押せない状態です。
 
 
 今さらですが、このコンボボックスを今後どうしたいかを説明しておきますと
 このコンボボックスで選択したデータを特定のセル(またはフォームのテキストボックス)に貼り付けて次の作業に進めるようにしたいと考えています。
 その後、それをキーワードにまたオートフィルタにかける等の作業が続く予定です。
 
 なにぶん、わからないことだらけの状態で作成しているので
 説明が漠然としていて、わかりにくくなってしまう点、お詫びいたします。
 どうかよろしくお願いいたします。
 
 
 |  |