リストボックスのリストをシートのセル範囲で表示する
- リストボックスを使用して、シートのセル範囲で列の離れたリストを複数表示させる方法についてアドバイスをお願いします。
- リストボックスのリストをシートのセル範囲で表示する際に、正しく設定しないとうまく表示されないことがあります。具体的な設定方法について解説します。
- リストボックスを使って複数の列にまたがったリストを表示するためには、適切な列数とセル範囲を指定する必要があります。詳細な手順を説明します。
- ベストアンサー
リストボックスのリストをシートのセル範囲で表示する
リストボックスのリストをシートのセル範囲で表示する おはようございます。 朝から行き詰っています。 リストは、シートのセル範囲で列の離れたリストを複数表示させる。 下のようにしたのですが、うまくできません。 よろしくアドバイスをお願いします。 With ListBox2 .ColumnCount = 3 .ColumnWidths = "150;150;150" .RowSource = "受注物件!C5:D,F5:F" & Worksheets("受注物件").Cells(Rows.Count, 5).End(xlUp).Row .MultiSelect = fmMultiSelectMulti .ListStyle = fmListStyleOption End With
- 1211M
- お礼率54% (90/165)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>リストは、シートのセル範囲で列の離れたリストを複数表示させる。 列の離れたリストは次のように処理します With ListBox2 .ColumnCount = 4 .ColumnWidths = "150;150;0;150" .RowSource = "受注物件!C5:F" & Worksheets("受注物件").Cells(Rows.Count, 5).End(xlUp).Row .MultiSelect = fmMultiSelectMulti .ListStyle = fmListStyleOption End With 参考まで
関連するQ&A
- リストボックスのリストを右詰で表示する
リストボックスのリストを右詰で表示する おはようございます。 先般、お教えいただいた複数列表示の構文ですが ColumnCountの5つ目の数値が左詰で表示されます。 これを右詰で表示したいのですが、構文がわかりません。 よろしくご教示をお願いします。 With ListBox2 .ColumnCount = 5 .ColumnWidths = "150;150;0;0;150" .RowSource = "受注物件!C5:G" & Worksheets("受注物件").Cells(Rows.Count, 5).End(xlUp).Row .MultiSelect = fmMultiSelectMulti .ListStyle = fmListStyleOption End With
- ベストアンサー
- Visual Basic
- リストボックスに複数シートのデーターを表示させる。
リストボックスに複数シートのデーターを表示させる。 下記の構文で複数表示はできたのですが、このListBox1のColumnCount7つ目に シートBのC列のデーターを表示させる方法をお教えください。 With ListBox1 .ColumnCount = 7 ↓ .ColumnWidths = "0;100;120;0;0;0;120" .RowSource = "シートA!B5:G" & Worksheets("シートA").Cells(Rows.Count, 5).End(xlUp).Row → .RowSource = "シートB!C5:C" & Worksheets("シートB").Cells(Rows.Count, 5).End(xlUp).Row .MultiSelect = fmMultiSelectMulti .ListStyle = fmListStyleOption End With よろしくお願いします
- ベストアンサー
- Visual Basic
- リストボックスの複数データをセルに転記する
よろしくお願いします。 複数表示させたリストの2番目のリストを抜いて 1、3、4、5番目のリストを、 シートAの、C6からF6に転記する With ListBox1 .ColumnCount = 5 .ColumnWidths = "150;0;150;0;0" ↑ .RowSource = "シートA!C6:F" & Worksheets("シートA").Cells(Rows.Count, 5).End(xlUp).Row End With
- ベストアンサー
- その他(プログラミング・開発)
- リストボックス内の表示について
マクロ初心者です。(エクセル2003使用_ユーザーフォーム) リストボックスを作成しました。 Sheet1でA5からAEまでを選択することはできたのですが、 下記コードでは、リストボックス内の表示がA,B,Cの値がでてしまいます。自分は、G,H,Iの値を表示したいのですが、どこが違うのか教えてください。 (Sheet1のデータ) A B C ・・・・G H I ・・・・AE 犬 猫 鳥 馬 羊 蝶 猿 (コード) Private Sub UserForm_Initialize() With ListBox1 .ColumnWidths = "45;18;90" .ColumnCount = 3 .RowSource = "Sheet1!A5:AE" & Worksheets("Sheet1").Range("AE" & Rows.Count).End(xlUp).Row End With End Sub ↑これだと、リストボックスには<犬 猫 鳥>となってしまいます。 <馬 羊 蝶>にするやり方を教えてください。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- エクセルVBAユーザーフォーム・リストボックスについて
エクセルVBAにてユーザーフォームを作りリストボックスにSheet1、AからEのデータすべてを 表示させることは出来るのですが、E行にデータがある物のみ表示する方法をご存じの方教えて頂けないでしょうか。 入力したソースは下記のとおりです。 Private Sub UserForm_Click() Dim lastRow As Long With Worksheets("Sheet1") lastRow = .Cells(Rows.Count, 5).End(xlUp).Row End With With ListBox1 .ColumnCount = 5 .ColumnWidths = "35;25;30;100;25" .RowSource = "Sheet1!A2:E" & lastRow .ColumnHeads = True End With End Sub
- ベストアンサー
- オフィス系ソフト
- VBAを使用しコンボボックスにリストを設定する方法
いつもお世話になっております。 現在コンボボックスにリストを設定する方法について悩んでいます。 バージョンはExcel2003です。 コンボボックスに指定したい列がA列とB列なら通常下記のようにすると思います。 With ComboBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .RowSource = "Sheet1!A2:B5" End With ただ今回はA列とC列をリストに設定したいと思い、下記のような設定にしたのですがうまく設定できません。 With ComboBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .RowSource = "Sheet1!A2:A5;C2:C5" End With そもそもRowSource は連続的なデータを設定する場合のプロパティだと思うのですが、このように飛んだ列のデータを効率的に指定するにはどのようにするのが一番いいのでしょうか? 分かる方がいっらしゃいましたらご教授願います。
- ベストアンサー
- オフィス系ソフト
- エクセル VBA リストボックスの登録方法
早速の質問ですが エクセルVBAでリストボックスでシートのセルからリストボックスの中身を作りたいのですがそれだけなら ListBox1.RowSource = Range("E21", Range("E65536").End(xlUp)).Address こんな感じで出来ますよね・・・ ただ自分が作りたいのは、条件が付いてE21のセルはF21のセルに○が付いていたらリストボックスに出す E22のセルはF22のセルに○が付いていたらリストボックスに出す というのを作りたいのです。 その条件で E65536をxlUPでやりたいのですが色々考えたのですが いいアイデアが浮かびません どうか皆様ご協力の程宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- シート上のリストボックスに値を表示するには?
エクセル2003です。 コントロールツールボックスからシートにリストボックスを設置しました。 ここに値を指定するにはどうすればいいでしょうか? フォーム上のリストボックスなら Private Sub UserForm_Initialize() UserForm1.ListBox1.RowSource = "Sheet1!a2:a3" End Sub とすればいいのですが シートのイベントにInitializeはありません。 どこのイベントプロシージャーに 「リストボックスに値を表示する」というコードを書けばいいのでしょうか? シートモジュールにに Private Sub ListBox1_Click() UserForm1.ListBox1.RowSource = "Sheet1!a2:a3" End Sub としても何も起こりません。 できればファイルを開いた時からリストボックスに値を表示させるようにしたいです。 ご教授よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- リストボックスについて
リストボックスからデータを転記したいのですが、 実行時エラー"1004"が出てしまい、どうしてもうまくいきません。 どなたか原因を教えてください。 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim i As Long With Worksheets("sheet2") i = .Range("F47").End(xlUp).Row + 1 .Range(i, 6).Value = ListBox1.List(ListBox1.ListIndex, 0) .Range(i, 12).Value = ListBox1.List(ListBox1.ListIndex, 1) .Range(i, 26).Value = ListBox1.List(ListBox1.ListIndex, 2) .Range(i, 28).Value = ListBox1.List(ListBox1.ListIndex, 3) .Range(i, 34).Value = ListBox1.List(ListBox1.ListIndex, 4) .Range(i, 37).Value = ListBox1.List(ListBox1.ListIndex, 5) End With Unload Me End Sub
- ベストアンサー
- オフィス系ソフト
- VBA コンボボックスの条件分岐
コンボボックスの条件分岐のコードが間違っているみたいで 調べても分からなかったので質問します。 やりたいこと 『マスタ』という名前のシート内のセルを参照し マスタシートには C2セル『A』C3セル『B』C4セル『C』と それぞれアルファベットがあります。 そこでコンボボックスを使用し コンボボックス22にC2~C4セルを選択できるようにし 例えばC2セルを選択したら コンボボックス21の参照範囲をマスタシート内の D2~D13セルを選択できるようにし C3セルを選択したら コンボボックス21の参照範囲をマスタシート内の E2~E13セルを選択できるようにしたいのです。 すいませんがコードを記載して頂けますと 助かります。 Private Sub UserForm_Activate() '----------------------- With ComboBox22 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!C2:C4" End With '↑こうすればコンボボックス22のマスタシートのC2からC4まで値を選択できるようになります。 '------------------------わかりやすく区切っています。 '--------------------------------------- If UserForm1.ComboBox22 = "A" Then With ComboBox21 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!D2:D13" End With End If '↑コンボボックス22の値が(C2セルの値がAなら)コンボボックス21をマスタシートのD2からD13までを選択できるようにしたい If UserForm1.ComboBox22 = "B" Then With ComboBox21 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!E2:E13" End With End If '↑コンボボックス22の値が(C3セルの値がBなら)コンボボックス21をマスタシートのE2からE13までを選択できるようにしたい '----------------------------------------区切っています。 End Sub
- ベストアンサー
- Visual Basic
お礼
ありがとうございました。 解決できました。