- ベストアンサー
コンボボタンのリストの設定の仕方がわからなくて困っています。
マクロの初心者です。エクセル2003を使用しています。 ユーザーフォームでコンボボタンにリストを一つ設定することはできましたが、別のコンボボタンで入力した値(A264)でリストから選び、、会津、喜多方、湯川を表示させるようにしたいのですが、どうすればいいかいろいろ調べたのですがコードあまり理解できないため、わかりませんでした。 以下のようなリストがありまして、同じ番号(A264が3っつあります)に名前をつけないとできないでしょうか。 入力値がA264のようにセル番号と同じ名前なのですがこれをつかうことはできないでしょうか。A~Fまであり全部で1000を超えます。 A264 会津 A264 喜多方 A264 湯川 A271 会津 A271 湯川 A272 会津 A273 会津 A273 喜多方 A273 磐梯 A273 湯川 A274 会津 A274 喜多方 A274 磐梯 詳しい方に教えていただきたいので、是非よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問内容をもうちょっと整理したほうが良さそうです。 例えば... 1)【Sheet1】に参照したいリストがあります。 A列 B列 1 A264 会津 2 A264 喜多方 3 A264 湯川 4 A271 会津 5 A271 湯川 6 A272 会津 7 A273 会津 8 A273 喜多方 9 A273 磐梯 : 1000 F274 磐梯 2)UserForm1にComboBox1、ComboBox2、TextBox1 があります。 3)ComboBox1にリストA列を設定し、選択した後、ComboBox2に対応するB列の値をリストに設定したい。 ex)ComboBox1でA264を選択したら、ComboBox2のリストに会津、喜多方、湯川を設定したい。 : とか。あくまで例えば、ですが。 但し、最終的には、ComboBox2のリスト会津、喜多方、湯川 からさらに選択して、 TextBox1、もしくはセルに表示したい、という事なのではないですか? もしそうなら、ComboBoxを2コ使って段階的に選択するよりも、 A・B列2列ともComboBox1に表示して1度で選択したほうが良いように思えます。 ComboBoxは、入力した文字によって候補リストに自動的にフォーカスしますから、選択もラクじゃないでしょうか。 (事前に、keyとなるA列でソートされている事が前提) 試しに、新規Bookにテストデータを設定して、UserForm1にComboBox1、TextBox1を配置して、 以下のコードを試してみてください。 参照したいリストは前述例のように【Sheet1】にあるとします。 Option Explicit '--------------------------------------------------------------------- Private Sub UserForm_Initialize() With Me.ComboBox1 .ColumnCount = 2 .BoundColumn = 2 .IMEMode = fmIMEModeOff .List = Sheets("Sheet1").Range("A1").CurrentRegion.Resize(, 2).Value End With End Sub '--------------------------------------------------------------------- Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, _ ByVal Shift As Integer) If KeyCode <> 13 And KeyCode <> 27 Then Me.ComboBox1.DropDown End If End Sub '--------------------------------------------------------------------- Private Sub ComboBox1_Change() Me.TextBox1.Value = Me.ComboBox1.Value End Sub >コードあまり理解できないため... VBEのヘルプは状況依存型です。 調べたい語句にマウスキャレット(Iビームみたいなやつ)をあてて[F1]キーを押すと 目的のトピックにクイックアクセスできます。 わからない語句を辞書で引くのと同じように、地道に調べていく事も必要だと思います。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
これはエクセルVBAの質問か。操作レベルでの質問か >別のコンボボタンで入力した値(A264)でリストから選び・・・ の意味が良くわからない。 2つコンボボックス(ボタンとは言わない)を設けて下、第1のコンボで選んだ値を元に、第二のコンボに表示するアイテムを絞りたいということか。 これはアクセスのSQLぐらいを使わないと複雑になる仕組みだ。 エクセルー入力規則でも2段までならできる。Googleででも回答例を探したら。 http://okwave.jp/qa1868926.html ほか多数 http://questionbox.jp.msn.com/qa3762716.html の私の回答など。
お礼
ありがとうございます。 質問の仕方もわからず、申し訳ありませんでした。 入力規則でもできるんですね。 回答例をもっと見てみます。 ありがとうございました。
お礼
ありがとうございます。 質問のしかたから、回答まで、私のしたかったことができました。 まだコードは理解できないところがありますが、勉強させていただきます。 また、トピックの見方もわかりました。 大変役立ちました。 本当にありがとうございました。