• 締切済み

フォームでコンボボックスの1列目以外を表示するには

フォームでコンボボックスを設置して 左から順に「CD」、「部門」、「名称」と3つに分けて表示した状態で 選ぶと1つ目のCDの値がセットされます。 これをCDではなく、部門又は名称を表示するにはどの様にしたらよいのでしょうか? チェンジのイベントに ComboBox1.List(ComboBox1.ListIndex,2)と書いて 行くかと思ったんですが、中でループしてしまいます。 宜しければ教えて下さい。

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

VBかAccessかExcelか分かりませんが、 コンボボックスのBoundColumn(連結列)プロパティを変更してみてください。

tarinko_06
質問者

お礼

回答ありがとうございます。 TextColumnの方で解決しました。

関連するQ&A

  • テキストボックスのデフォルト設定とコンボボックスの更新について

    テキストボックスのデフォルト設定とコンボボックスの更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中にはコンボボックスとテキストボックスとボタンがあります。 コンボボックスには「ABCDEFGHIJKLM」と合計13のリストがあります。 ユーザーフォーム起動時に、コンボボックスには最初のリスト(A)が表示 されていて、「次へ」ボタンと「戻る」ボタンの2つを用意しています。 (1)ユーザーフォーム起動時にテキストボックスに「0」を入れる方法を教えていただけないでしょうか。 コンボボックスで「A」が選択された状態で「次へ」ボタンをおしたら「B」が選ばれる。 「D」が選択された状態で「次へ」ボタンをおしたら「E」が選ばれる。 「M」が選択された状態で「次へ」ボタンをおしたら「A」が選択される。(リストの最初に戻る。) というのは、次のVBAで上手くいきました。 If Combobox1.ListIndex < Combobox1.ListCount - 1 Then Combobox1.Text = Combobox1.List(Combobox1.ListIndex + 1) Else Combobox1.Text = Combobox1.List(0) End If (2)しかし「E」が選択された状態で「戻る」ボタンをおしたら「D」が選ばれる。 「G」が選択された状態で「戻る」ボタンをおしたら「F」が選ばれる。 「A」が選択された状態で「戻る」ボタンをおしたら「M」が選ばれる。(リストの最後に戻る。) といった内容のマクロがうまく組めません。 教えていただけると助かります。

  • フォームのコンボボックスのチェンジイベントがエラー

    フォームのコンボボックスのチェンジイベントがエラーになってしまいます フォームのコンボボックスで値が変更するたびに コンボックスのリストを絞り込むようにしたいので フィールド1 1111 1112 1113 1211 1212 フォーム1を作成しコンボボックスを設置し 値集合ソースを SELECT テーブル1.フィールド1 FROM テーブル1 WHERE (((テーブル1.フィールド1) Like "*" & [テーブル1]![フィールド1] & "*")); として コンボボックスの変更時イベントに Private Sub コンボ0_Change() Form_フォーム1.コンボ0.Requery End Sub としました。 そしてこのコンボボックスに 「2」というように値を入力すると 「実行時エラー '2118' "Requery/再クエリ"アクションを実行する前に、カレンとフィールドを保存する必要があります。」 となってしまいます。 やりたいことは コンボボックスに「2」を入力すれば テーブル1の「2」が含まれるものが抽出され 1112 1211 1212 がコンボボックスの ▼マークをクリックした後のリストに表示されるようにしたいのですが どうすればいいでしょうか? よろしくお願いします。

  • 同じコンボボックス、リストボックスを使うには?

    よろしくお願いします。 今、ユーザーフォームを使って製造計画表を作っています。 コンボボックスで会社名、リストボックスで会社ごとの製品名を選択させるとこまで出来ました。 1日に3つの製品を作ることが出来るので、同じ中身のコンボボックス、リストボックスを使って3つ作りたいと思っています。 ユーザーフォームの形的にはこのような感じですが。 1. コンボボックス  リストボックス 2. コンボボックス  リストボックス 3. コンボボックス  リストボックス 今は、1.のとこだけは出来たのですが、2.3.は1.と同じコードをコピーして必要と思われるとこだけをコンボボックス2と変えたりしてみたのですが、上手くいきませんでした。こんなコードですが。 Private Sub UserForm_initialize() 'ComboBox1セット Dim ico As Long ico = 1 With ThisWorkbook.Worksheets("Sheet1") Do While .Cells(1, ico) <> "" Me.ComboBox1.AddItem .Cells(1, ico).Value ico = ico + 1 Loop End With Me.ComboBox1.SetFocus End Sub Private Sub ComboBox1_Change() 'ListBox1セット Dim ico As Long 'Me.ListBox1.Clear ico = Me.ComboBox1.ListIndex + 1 With ThisWorkbook.Worksheets("Sheet1") Me.ListBox1.List = .Range(.Cells(2, ico), _ .Cells(.Cells(Rows.Count, ico).End(xlUp).Row, ico)).Value End With End Sub VBAも初めたばかりで質問の内容もわかりづらいとも思いますが、よろしくお願いします。

  • コンボボックスにリストが表示されません・・・

    ユーザーフォーム(UserForm)にコンボボックス(ComboBox1)を作ってリストを入れました。 しかしユーザーフォームを実行してもコンボボックスに何もリストが出てきません。 なにが悪いのでしょうか?チュートリアルどおりにやっているのですが・・・(T T) Private Sub UserForm_Initialize() With ComboBox1 .AddItem "東京" .AddItem "名古屋" .AddItem "福岡" End With End Sub Windows2000+Excel2000です。

  • Excel コンボボックス2つ以上の時のコード

    ユーザーフォームでコンボボックスを2つ作ったのですが、1つだけのときはうまくいったのですが、二つ目をつくったら、エラーが出てしまいました。 コード入力は、Initializeに入力してあります。 Private Sub UserForm_Initialize() ComboBox1.Style = fmStyleDropDownCombo ComboBox1.RowSource = "sheet1!F2:F7" ComboBox1.ListIndex = -1 End Sub Private Sub UserForm_Initialize() ComboBox2.Style = fmStyleDropDownCombo ComboBox2.RowSource = "sheet2!B2:B3" ComboBox2.ListIndex = -1 End Sub コンボボックス1だけはうまくいったのですが、コンボボックス2をつくったら名前が適切でありませんとエラーがでました。 どのようにしたらいいですか?教えてください。

  • ExcelVBAでコンボボックスに初期値設定

    ExcelVBAでユーザーフォームを作成しています。 表示したときにコンボボックスに「選択して下さい」と表示させる方法を教えて下さい。 コンボボックスで「2003年_H15」~「2012年_H24」が選択できて、選択するとラベルに「2002~2004年」のように表示されます。 【コンボボックス:選択】2003年_H15 【ラベル:表示】2002~2004年 コンボボックスの値はSheetから設定しています。 ユーザーフォームを表示させたときにコンボボックスに「選択して下さい」と初期値として設定するにはどうしたらよいか教えて下さい。 Sheetに追加するとかんたんなのですが、ラベルに表示させるために、以下のようなコードを書いていたりするので、うまく動きません。 Private Sub ComboBox_Change() Dim sh As Worksheet Set sh = Worksheets("Sheet1") With ComboBox If .ListIndex >= 0 Then Label.Caption = Left(sh.Cells(.ListIndex + 1, 1), 4) _ & "~" & Left(sh.Cells(.ListIndex + 3, 1), 4) & "年" End If End With End Sub よろしくお願い致します。

  • ユーザーフォーム上にあるコンボボックスの重複選択をできなくするには?

    ユーザーフォーム上に10個のコンボボックスがあり それぞれ名前をcb1からcb10とします。 これらのコンボボックスには同じリストを取得して 表示していますが、選択するときには重複させないように したいと思っています。 例を挙げると、 リストの値が”東京”、”大阪”、”名古屋”として、 cb1で”東京”を選択している場合は、残りのcb2~cb10では ”東京”を選択できないように、もしくは選択したときに ”すでに選択済みです”みたいなメッセージを表示させて キャンセル状態に戻す、みたいにしたいのですが スマートな書き方がわかりません。 ※力業でそれぞれのコンボボックスのチェンジイベントで 他のコンボボックスの値を見に行って、重複があれば メッセージを表示させるという方法ならわかるのですが 実際のコンボボックスの数が50近くあるためできれば 避けたいと思っています。 達人の皆様、どうぞ宜しくお願いします。

  • VBAコンボボックスについて

    初歩的な質問ですが もしコンボボックスで1行目を選べば~をする。 2行目を選べば~をする。といったマクロを考えています。 if combobox1.listindex=1 と記入するだけでは機能しません。 with combobox.listindex=1 とすると機能しますがwithを文頭に入れるとifが使えないため条件で項目を分けれませんが、どういった表現に変えたらよいでしょうか?

  • コンボボックスの初期表示について

    コンボボックスの初期表示についてですが、 試験できる環境がないため、以下の認識で正しいか教えてください。 コンボボックス1行目を表示 ComboBox1.SelectedIndex = 0 コンボボックス2行目を表示 ComboBox1.SelectedIndex = 1 空白を表示 ComboBox1.SelectedIndex = null or "" 文字を表示 ComboBox1.SelectedIndex = "表示"

  • ユーザーフォームのコンボボックスでINDIRECT関数を使うにはどのよ

    ユーザーフォームのコンボボックスでINDIRECT関数を使うにはどのようにすればいいでしょうか? Private Sub UserForm_Initialize() Me.ComboBox1.RowSource = "sheet1!B1:C1" ComboBox2 = "=INDIRECT(?)" End Sub ComboBox1で種類のリストが表示され、選んだ項目により ComboBox2のリストが表示されるようにしたいのですが うまくいきません。   1   2    3    4 A 種類 果物   野菜 B 果物 りんご  たまねぎ C 野菜 いちご  ピーマン D    みかん  レタス   (すべて名前を定義しています。) VBAでINDIRECT関数を使うにはどのようにすればよいでしょうか?