- ベストアンサー
VBAでシートからコンボボックスにデータを設定する方法
todo36の回答
- todo36
- ベストアンサー率58% (728/1234)
RowSource
関連するQ&A
- VBA コンボボックスの重複削除
こんばんわ。 VBAをはじめたばかりで、コンボボックスで困っています。 sheet1にコンボボックスを配置して、sheet2のA列にあるデータ (例) A列 1 1 2 を コンボボックスに 1 2 というようにデータを入れたいのですが、どの様にしたらよいのでしょうか? sheet1.コンボボックス.value=workSheet("sheet2).Range(A1:A3).value とすると1・1・2というようにA列の値がすべて入ってしまいました。 これを1・2というようにコンボボックスに入れたいです。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 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)のようなものを使ってデータが入っている最後の行を調べるのかと思いましたが、どうもうまくいきませんでした。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBA ユーザーフォームのコンボボックスに表示する値の入力方法
Excel Xを使用して、VBAのユーザフォームにコンボボックスを作りましたが、どうしてもコンボボックス内に表示する値の入力方法が分かりません。 WEBや本などで「これ」と思われるものを実験していますが、どれも表示することができません。 できるだけ詳しく教えていただけませんか? したいことは、 cbocenter というコンボボックスに値を出します。 値は List シートの A2 から A18 に入力済みです。 それと値から選択した値を data シートの J列 に 表示させたいのです。(行の指定はできています) 本当に困ってます。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- コンボボックスで選択した値をシートに転記する
エクセルを使用して表を作成していますが、うまくいきません。 作りたいのは下記のものです。 sheet1にリストを作成 (リストはA-F列で300行程、また先頭A列は任意の不連続番号) sheet2に表を作成 sheet2のA1にコンボボックスを作成 コンボボックスにはsheet1のリストのA,B列を表示させたい またコンボボックスで選択した行のデータをsheet2にコピーさせる。 と、なるようにしたいのですが、どのようにしたら良いのでしょうか? コンボボックスのリンクから参照したVLOOKUPだとセルのデータを上書きされると、式がなくなってしまうので、VBAで作成したいです。
- 締切済み
- Visual Basic
- エクセルVBA 別シートからのコンボボックス連動
エクセルVBA 別シートからのコンボボックス連動について Book1(多人数入力用ブック) ・入力シート ・データ用シート Book2(反映用ブック) ・シート1 Book1にコンボボックスが2列 テキストボックスが2列 * 6行のユーザーフォームを作成しました。 コンボボックス1 コンボボックス2 テキストボックス1 テキストボックス2 コンボボックス3 コンボボックス4 テキストボックス3 テキストボックス4 ・ ・ ・ 左のコンボボックスで「あ」が選ばれたときには、右のコンボボックスで「あ行の顧客」・・・というように連動させたいと考えております。 データ用シートのデータは、 A B C 1 あ あ行で始まる顧客 か行で始まる顧客 2 か 3 さ 4 た 5 な 6 Private Sub UserForm_Initialize() Dim c As Range ComboBox1.RowSource = "データ用シート!A1:A9" End Sub Private Sub ComboBox1_Change() 'Dim Rng As Range 'Dim i As Long i = ComboBox1.ListIndex If i > -1 Then Dim c As Range Set Sh = Worksheets("データ用シート") Set Rng = Worksheets("データ用シート").Range("B2:I30") ComboBox2.Value = "" ComboBox2.RowSource = Rng.Columns(i + 1).Address End If End Sub 上記コードですと、コンボボックス2が入力シートのデータを表示してしまいうまくいきません。 欲をいえば、 Book1(多人数入力用ブック)入力シートの特定セルに コンボボックス2・テキストボックス1 コンボボックス4・テキストボックス3というように続けて1セルに反映 Book2(反映用ブック)シート1に コンボボックス2・テキストボックス1・テキストボックス2 を各1セル 1行に反映させたいと考えております。 まったく知識がないのですが 仕事上どうしても必要となったので、各種サイトを見よう見真似でやっております。 ご助力いただければ幸いです。
- 締切済み
- Visual Basic
- エクセルVBA「コンボボックスの値をワークシートに代入」
エクセルVBA「コンボボックスの値をワークシートに代入」 連日質問してしまい申し訳ありません。・・・ 今回は「コンボボックス」にリストアップされている値をセルに入力したいのです。 画像を見て頂ければと思いますが、コンボボックス(左ウィンドウ画像)には25の文字列がリストアップされています。 このリストアップされている文字列をすべてワークシートのセルB4からの"4"列に入力したいのです。 なんだか滅茶苦茶ですが、ご理解頂ければご協力お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA コンボボックスで強制終了
こんにちは。 エクセルVBAでいくつかのフォームを作成しているのですが、 常にではないのですが、「問題が発生したため・・・」のメッセージで 強制終了させられてしまいます。 恐らく、コンボボックスが原因かと思われるのですが。。。 申し訳ありません。教えていただけると嬉しいです。 VBA 1.Initialize (1)コンボボックス1リスト設定:データ2 (2)コンボボックス2~21(20個のコンボボックス)リスト設定 :データ数80 2.コンボボックス1_Change (1)コンボボックス22リスト設定:データ数80 現象 (1)コンボボックス22を▼でなく入力し、保存すると強制終了 (2)上記現象発生後、コンボボックス1の▼押下で強制終了 (3)複数のPCで試したが、性能の良いPCでもたまに起こる。 性能が悪いPCの場合、確実に起きる。 (4)他のフォームはいくらやってもこの現象は発生しない。 但し、コンボボックス2~21のような大量なコンボボックスはない 考えること (1)コンボボックスのリストの限界等はあるのでしょうか。 (2)メモリ等の関係で発生するのでしょうか。 (3)コンボボックスに入力不可とするか、テキストでNoを入力 させる方法をとった方がよいでしょうか。 長々とすみません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 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 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 というコードになると思うのですが、うまくいきません。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト