- ベストアンサー
ExcelVBA コンボボックスのリンクとテキストボックスの更新方法
- ExcelVBA コンボボックスのリストから項目を選択すると、テキストボックスの内容を更新する方法について説明します。
- 特定のコンボボックスの選択に応じて、別のシートから情報を取得してテキストボックスに表示する方法を紹介します。
- コンボボックスのChangeイベントを使用して、選択された項目の情報を取得し、テキストボックスに表示されるようにします。
- みんなの回答 (2)
- 専門家の回答
関連する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」が選ばれる。(リストの最後に戻る。) といった内容のマクロがうまく組めません。 教えていただけると助かります。
- ベストアンサー
- オフィス系ソフト
- コンボボックスの自動更新について
コンボボックスの自動更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中には「入力」ボタンとコンボボックスと テキストボックスがあります。 コンボボックスは、「ABCDEF」と6つのリストがあります。 ユーザーフォーム起動時には、コンボボックスは空欄で コンボボックスから、入力したい商品を選んで、入力ボタンを押して コンボボックスとテキストボックスの内容を入力・コンボボックスを 空欄に戻しています。 これを、「A」を選んで入力ボタンをおしたら「B」が選ばれる。 「B」を選んで入力ボタンをおしたら「C」が選ばれるといったように コンボボックスに表示されるリストを自動で更新することは できないでしょうか? Select case などを利用して組み立てようとしたのですが、 数時間以上調べても出来ません。 教えていただけると助かります。
- ベストアンサー
- オフィス系ソフト
- 【Excel・マクロ】コンボボックス・テキストボックスからのデータの入力について
教えて下さい! 今シートにはA列に日付(2003/1/1~2010/12/31)、B列からI列の1行目には項目名が入っています。 これから行いたいことは、別マクロで表示させたフォームのコンボボックスから日付を選択し、同じフォーム上にある項目名に沿った8つのテキストボックスにデータを入力することにより、そのデータがシートに反映されるというものを作成したいのです。 データが入力される部分は選択された日付の行の、各項目名と交わる部分となります。 (例) |あああ|いいい|ううう・・・ 2003/1/1 | | | 2003/1/2 | | | 2003/1/3 | | | ※上の表だとコンボボックスから2003/1/2を選択し、テキストボックス「いいい」部分にデータを入力するとC3セルにデータが入力されます。 コンボボックスにデータを表示させることは出来るのですが、そこから先(この日付を選んでテキストに入力して・・・)が出来ません。 よろしければ、記述を教えて頂きたいと思います。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルのコンボボックスの内容にリンクをはるには?
お世話になります。 エクセルにフォームを置いています。 そのフォームにはコンボボックスがあります。 コンボボックスの内容は別シートより読み込んでいます。 コンボボックスである内容が選択されたときに、 その選択内容にリンクを貼り、別シートにあるリンク先へ 飛ぶようにするにはどのような仕組みが必要でしょうか。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- チェックボックス・コンボボックス
エクセルのチェックボックス・コンボボックスについて教えて下さい。 チェックボックス・コンボボックスを作成しリストから選択すると、リンクするセルには番号が表示されてしまいます。以前は正確にリスト名が表示されていました。 どこか設定のようなものを変えてしまったのでしょうか?初心者なものでよく分かりません。どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ExcelVBA コンボボックスリストのリセット
4月からマクロを勉強し始めて、壁にぶつかっています。 ユーザーフォームでオプションボタンの下にコンボボックス(1)を、そのさらに下にもうひとつコンボボックス(2)をレイアウトしました。 コンボボックス(1)は選ばれたオプションボタンによって、異なるリストを表示させるようにしてあります。 わからないのは、コンボボックス(2)のリストをコンボボックス(1)で選ばれた文字によって変えたいのです。 たとえば、コンボボックス(1)で"A"と選択されたら、コンボボックス(2)にはリストA'が、(1)で"B"と選択されたら、(2)にはりすとB'が…、というように、場合分けさせたいのです。 方法をご存知の方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Accessレポートでコンボボックスが動かない
Access2010のレポートでコンボボックスを使いたいのですが、コンボボックスが正しく表示されず困っています。 表示されないというのは、コンボボックスのリストを選択する逆三角形が表示されず、またリストも全く表示されません。つまりテキストボックスのように空のの四角い箱が表示されてしまいます。 表示したいリストはあるテーブルから引っ張っているのですが、全く同じことをリストボックスでやろうとするとすべての項目がうまく表示できることは確認しました。 またフォームの方ではコンボボックスをから項目が選択できることも確認できています。 レポートではコンボボックスが使えないような仕様になっているのでしょうか? お分かりになる方教えていただけますでしょうか?
- 締切済み
- オフィス系ソフト
- ユーザーフォームのコンボボックス
エクセルのユーザーフォームでの質問です。 コンボボックスの項目についてsheet2のB2~B10を選択したいのですが、このユーザーフォームはsheet1で使うもので、プロパティのrowsource欄にセルを選択できません(やり方が分かりません)。 どう入力したら別シートのセルをコンボボックスに反映出来るのでしょうか??
- ベストアンサー
- Visual Basic
- エクセルのコンボボックスについて
シート「データ」に A B 1 い 東京 2 ろ 千葉 3 は 埼玉 上記内容が記載されています。 それを別のシートで参照できるようにリストを作って入力規則でコンボボックスを作りました。 しかし、コンボボックスには選択肢がひとつしか表示されません。 「い、ろ、は」だけが表示されています。 でも本当は「東京、千葉、埼玉」をコンボボックスで表示し、セルには「い、ろ、は」のどれかを表示するようにしたいのです。 これをマクロを使わないでできるでしょうか?
- ベストアンサー
- オフィス系ソフト
- コンボボックスを自動更新
お世話になります。 シート1のA1セルに 名前 B1セルに期限と入力してあり A2セル リンゴ B2セル 1703 A3セル バナナ B3セル 1703 A4セル ぶどう B4セル 1704 A5セル キウイ B5セル 1704 A6セル お米 B6セル 1706 A7セル 酒 B7セル 1708 以下 同様に入力しています。 B2以下に入力されているのは4桁の数字で 小さいほうから大きいほうに並んでいます。 同じ数字が入力されていることもあり、 また欠番も存在します。 この期限をユーザーフォームにコンボボックス設置して 重複なし表示させています。以下のコードです。 Private Sub UserForm_Initialize() Worksheets("Sheet1").Select 名前.Value = Cells(2, 1).Value 期限.Value = Cells(2, 2).Value X = 期限.Value nextGyo = Range("B:B").Find(X).Row 'Dim リスト As New Collection 'Dim 列 As String, 上端セル As String, 最下端セル As String 'Dim セル範囲 As Range, 各セル As Range 列 = "B" '※3 上端セル = 列 & "2" '※4 最下端セル = 列 & "65536" With Worksheets("Sheet1") '※5 Set セル範囲 = .Range(.Range(上端セル), .Range(最下端セル).End(xlUp)) End With For Each 各セル In セル範囲 'セル範囲の各セルについて繰り返し処理 On Error Resume Next '次行が実行時エラーならその次行から継続 リスト.Add 各セル.Value, CStr(各セル.Value) 'Collectionオブジェクトにメンバを追加 If Err.Number = 0 Then '実行時エラーが発生していなければ Me.期限.AddItem 各セル.Value 'コンボボックスのリストに項目を追加 End If On Error GoTo 0 Next End Sub 上記の例だと「1703」「1704」「1706」「1708」の 4種類から選択できる状態です。 ここでコンボボックスで1704を選択して (コンボボックスには自由に入力はさせずにリストの中から選ばせるようにしています) ユーザーフォーム上のボタンを押すと A4セル ぶどう B4セル 1704 A5セル キウイ B5セル 1704 を行削除して空白行を上に詰めるコードを書きました。 ただこのときコンボボックスには リストの更新がされないので「1704」が表示されたままです。 削除した時点で「1704」がない状態にするには (自動更新をかける) どうしたらよいでしょうか? (削除するコードの中に Call UserForm_Initialize と書いてみたのですが 何も変化ありませんでした) どうかよろしくお願いいたします
- ベストアンサー
- オフィス系ソフト
お礼
知識がないために出来る範囲でやろうとして、まったく無駄なことをしていたようです。 勉強不足を痛感いたしました。 教えていただいた記述で思ったとおりの処理が出来ました。 ありがとうございました。