エクセル複数列のコンボボックスの使い方

このQ&Aのポイント
  • エクセルで複数列のコンボボックスを使いたい場合、RowSourceプロパティを使用して指定した範囲のデータを設定し、特定のセルに選択された値を入力することができます。
  • また、ColumnCountプロパティを使用して表示する列の数を指定し、ColumnWidthプロパティを使用して表示されない列を設定することも可能です。
  • このように設定することで、特定のセルに選択された値を入力させることができます。エクセルのヘルプなどを参考にしながら、設定を行ってください。
回答を見る
  • ベストアンサー

エクセル複数列のコンボの使い方?

こんにちは,よろしくお願いします。 複数列のコンボボックスを作成しました。 ワークシートからRowSourceプロパティで”A1:B4”と設定して, ____A列__B列 1行目__あ__A 2行目__え__Z 3行目__さ__D 4行目__き__G さらに,ColumnCountプロパティを2とし, ColumnWidthを,72 pt;0 ptとし,B列を表示されないようにしました。 このように,A列だけ表示させて,例えば「え」を選択したとき,特定のセルに「Z」と入力させたいのですがどのようにすれば良いのでしょうか? このようなことを,以前に行ったことがあるのですが,ヘルプなどを見てもどうしても思い出せません。 すみません,よろしくお願いします。教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#187541
noname#187541
回答No.3

こんばんは。 そのようなときは、Listプロパティを使えば出来ます。 たとえば、選択した直後にD1に入れる場合 Private Sub ComboBox1_Change() Dim LRow As Long LRow = Me.ComboBox1.ListIndex Range("D1").Value = Me.ComboBox1.List(LRow, 1) End Sub このような感じでできます。

emikouji
質問者

お礼

M-SOFTさん,連日ありがとうございます。 おかげさまで,出来ました。これからもよろしくお願いします。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

BoundColumnを2にしておき,combobox1.valueを所定のセルに書き出します。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

BoundColumnプロパティを2(列目)にしてください。

関連するQ&A

  • エクセルでコンボボックス内に2列表示をしたい

    オプションでrowsourceに、A3:B10としたばあい、2列表示をしてほしいのです。 しかし、選択して、コンボボックスに表示するときは、A列の分だけでいいのです。 こんなことってできますか? また、コンボで選択したものが、表示されますが、別のものを選択した場合、その後ろにスペースを空けて表示するなんてことはできますか? コンボボックスで選択するものが2つ以上できたらいいと思います。

  • 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 は連続的なデータを設定する場合のプロパティだと思うのですが、このように飛んだ列のデータを効率的に指定するにはどのようにするのが一番いいのでしょうか? 分かる方がいっらしゃいましたらご教授願います。

  • excel 2003 vba コンボボックス 日付

    始めまして初心者です。よろしくお願いします。 ワークシートのA列に日付、B列に作業内容、C列に作業人員が入力されているとします。 それをユーザーフォームから操作したいです。 ユーザーフォーム上にコンボボックスとテキストボックス1,2を設置しています。 コンボボックスのRowSourceにA列日付をセットしています。 コンボボックスを操作すると、その日付のB列、C列の内容をそれぞれテキストボックス1,2に表示させたいです。

  • エクセルのコンボボックスについて質問です。

    エクセルのコンボボックスについて質問です。 まずワークシートのA列に「県名」、B列に「名前」を入力したとします。 A列 B列 福岡 たかし 長崎 なおこ 長崎 きょうこ 佐賀 つとむ として、ユーザーフォームにコンボボックスを2つ作ります。 まず、コンボボックス1に「県名」を表示させて、コンボボックス2には、 コンボボックス1で選んだ「県名」にあてはまる「名前」だけを 表示させたいんですが、どういう記述をすれば宜しいでしょうか? (例) コンボボックス1で「長崎」を選択したら、コンボボックス2に「なおこ・きょうこ」とリストができるようにしたい

  • ExcelVBA コンボボックスの表示

    お世話になります。 VBAユーザフォームのコンボボックスのリストにソースから追加しています。 ColumnCountを2に設定しているので、コンボボックスから選択するときにはちゃんと2列表示されるのですが、選択したあとにコンボボックスの表示に残るのは1列目だけなのです。 どのプロパティを変更したらいいのか見つかりません。 ご存知の方がいらっしゃいましたら、教えてください。 よろしくお願い致します。

  • EXCEL VBAのコンボボックスに取り込むリストについて

    すいません、EXCEL VBAのコンボボックスにデータを取り込む方法について教えていただきたいことがあります。 (1)「シート1」のA列にデータが入力されている (2)ユーザーフォームにコンボボックスを設置し、このA列のデータを取り込む。 このときにA列に入っているデータの数だけ取り組むにはどうしたらいいのでしょうか。 シート1    A列 1行 11 2行 21 3行 31  ・   ・  ・   ・ Private Sub UserForm_Initialize() ComboBox1.RowSource = Sheets("シート1").Range("?") End Sub ?の部分がわかりません。End(xlup)のようなものを使ってデータが入っている最後の行を調べるのかと思いましたが、どうもうまくいきませんでした。 よろしくお願いします。

  • エクセルVBAのコンボボックスについて教えてください

    こんにちは。 エクセル2007のコンボボックス(ユーザーフォーム) の質問です。    A    B     C 1 さんま  塩焼き  さしみ 2 まぐろ  さしみ  ステーキ 3 さば   味噌   ばってら 上記のようなデータがあるとします。 名前の定義にて A1:A3に”魚”という名前を付けます。 B1:C1に”サンマ” B2:C2に”マグロ” B3:C3に”サバ” という名前をそれぞれ付けます。 それぞれの名前を プロパティのRowSource へ入力しコンボボックスの項目を表示したのですが、 ”魚”と入力した時は”さんま””まぐろ””さば”と表示されたのですが ”サンマ”と入力した時は”塩焼き”のみ表示されました。 ”マグロ””サバ”も同様にB列しか表示されません。 どのようにしたら”塩焼き””さしみ”と表示 出来るのでしょうか? どなたかよろしくお願いします。

  • エクセルマクロについて コンボボックスについて

    コンボボックスについて質問が2つあるのですが、 1.コンボボックスのリストに、シートに記載の値や文字を採用するにつき、 プロパティのRowSourceに、B1:B100 と記述しますが、 ABCと複数シートがありまして、どのシートからコンボボックスを起動しても、AシートのB1~B5を指定したい場合、プロパティのRowSourceはどのような記述をしたらよいのでしょうか? 2.UserFormで入力を制御したいのですが、その中に複数入力項目がありまして、その都度全部入力することはありません。 たとえば、元金、利息、月々返済額と3つある場合で、月々返済額だけ変更して、元金、利息は前の数値をそのままで入力したいとき、どのような工夫(記述)をしたらよいでしょうか? 言い方を変えますと、UserFormを起動したときは、前回入力したそれぞれの数値がUserFormに表示されているようにしたいのです。 ちなみにエクセル2003、OS=XPです。 どうかよろしくお願いします。

  • コンボボックスのリストについて(エクセル、マクロ)

    またお世話になります。 多分簡単な疑問だと思うのですが・・・、 ユーザーフォームのコンボボックスのRowsourceの 設定に関して可変式にしたいので以下のように マクロ(一部を抜粋)を組んでみました。 Dim b As Integer b = 2 Do b = b + 1 Loop Until Sheets(3).Cells(b, "A") = "" ComboBox1.RowSource = Range(Cells(2, "A"), Cells(b - 1, "C")) が、「型が一致しません」と出てうまくいきません。 どうしたらよいでしょうか? また、 A列   B列 C列 2005/1/1 東京 10 ・ ・ ・ のようにシートには並んでいるものを コンボボックスのリストとして取り入れたいのですが 変な5桁の数字しか現れず(たぶんこの数字は 2005/1/1を標準値化した数値なのでしょうが) 3つきれいにそろって表れません。 こちらの方も解決していただけないでしょうか?

  • EXCEL VBA ユーザーフォームコンボボックスのRowSourceの設定方法について

    EXCEL VBAのユーザーフォーム内のコンボボックスのRowSourceの設定方法について質問があります。 基本的な質問かもしれませんが、うまく検索できませんでした。 「リスト一覧」シートに     A1  B1   C1 1行 りんご ばなな ぶどう 2行 100円  200円 300円 3行 110円  210円 310円 という値を入れる。 ユーザーフォーム内にコンボボックスを2つ設置し、 コンボボックス1の値が「リスト一覧」シートの1行の値と同じときに コンボボックス2のRowSourceを同じ列の2行、3行に設定する。 Private Sub ComboBox1_Change() Dim i As Integer  i = 1   Do Until Sheets("リスト一覧").Cells(1, i) = ComboBox1.Value    i = i + 1   Loop ComboBox2.RowSource = i列の2行目及び3行目.Address End Sub というコードになると思うのですが、うまくいきません。 どうぞよろしくお願いいたします。

専門家に質問してみよう