|
▼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
コントロールツールボックスの方からボタンとコンボボックスを作成すれば
よかったんでしょうか?(使ったこと無いんです^^;)
一応、それで作成して、シートモジュールにコードをコピーしてみましたが
ボタンが押せない状態です。
今さらですが、このコンボボックスを今後どうしたいかを説明しておきますと
このコンボボックスで選択したデータを特定のセル(またはフォームのテキストボックス)に貼り付けて次の作業に進めるようにしたいと考えています。
その後、それをキーワードにまたオートフィルタにかける等の作業が続く予定です。
なにぶん、わからないことだらけの状態で作成しているので
説明が漠然としていて、わかりにくくなってしまう点、お詫びいたします。
どうかよろしくお願いいたします。
|
|