- ベストアンサー
コンボボックスのドロップダウン表示に関する質問
- Excel2003で複数のコンボボックスのドロップダウン表示をしたいがうまくいかない
- フォーカスが移っているがドロップダウンが表示されず、カーソルのみが表示される
- コンボボックス1にEnterイベントでドロップダウン表示し、選択した項目が次のコンボボックスに移って同様に表示したい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- コンボボックスについて
コンボボックスでドロップダウンメニューが押された場合の処理は Private Sub ComboBox1_DropButtonClick() 処理 End Sub リスト項目がクリックされた時は Private Sub ComboBox1_Click() 処理 End Sub 上記の関数を組み合わせるにはどうすればよいでしょうか?用はComboBoxのドロップダウンメニューが押されて さらにリストの項目が選択してクリックした時はなんらかの処理を行うようにしたいのですがうまくいきません。よろしくお願い致します。
- ベストアンサー
- Visual Basic
- コンボボックスの開いたリストを閉じるには
コンボボックスのリストを開くのはComboBox1.DropDownでできますが、閉じるのはどういう風にやればいいでしょうか。 今ユーザーフォームで Private Sub Combobox1_Change() ComboBox1.Clear v = ComboBox1.Text For i = 1 To 300 c = Worksheets("Sheet1").Cells(i, "A") If v = Left(c, Len(v)) And Len(v) > 0 Then ComboBox1.AddItem c End If Next i ComboBox1.DropDown End Sub と言う風にしていますが、リストを開きっぱなしだと変な表示になってしまい、マウスクリックで一旦閉じてから開かないと変な表示になってしまうのです。 そこで一旦リストをマクロで閉じさせてから再び開きたいのですが、どうすればいいでしょうか。
- ベストアンサー
- オフィス系ソフト
- accsseのコンボボックス
コンボボックスのドロップダウンリストを、自動表示するために、 Private Sub 請求先_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.請求先.SetFocus Me.請求先.Dropdown End Sub のようなコードを、使っていますが、 次に、マウスをコンボボックスから移動した時に、表示されているドロップダウンリストを非表示にしたいのですが、コードが解りませんご教授お願いします。
- 締切済み
- オフィス系ソフト
- VBA起動時のコンボボックスについて
度々、お世話になっており、今回もご教授お願いしたいです。 VBAの“Sheet1”に2つのコンボボックスのプログラムを作成しました。 Private Sub ComboBox1_Change() Private Sub ComboBox2_Change() どちらも選択(fmStyleDropDownList)のみです。 しかし、Excel起動時にコンボボックスの内容が登録されないため、 ThisWorkbookの【Private Sub Workbook_Open()】 で Private Sub ComboBox1_Change() Private Sub ComboBox2_Change() ↑この2つを実行したいのですが、、、、 なんと記述したらよいかわからず、行き詰っています。。。 Private Sub Workbook_Open() ComboBox1_Change() = ture End Sub ↑こんな感じであれやこれや試してはいますが・・・ 記述方法をご教授ください。よろしくお願いします。
- ベストアンサー
- Visual Basic
- コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更し
コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更したいです。 ComboBox1.Items.Add("ID : NAME") Private Sub ComboBox1_Validated(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles ComboBox1.Validated ComboBox1.Text = "ID" End Sub これでコンボのフォーカスを外せば表示が"ID"になりますが、選択後は"ID : NAME"のままです。 イベント内で別のコントロールにフォーカスを当てようとしても無理でした。 なにか方法はないでしょうか? ownerdrawで複数列を持たせる方法でやりたいことはできるのですが、 この方法はわけあって避けたいと考えています。
- 締切済み
- Visual Basic
- 同じコンボボックスを二つ以上作る方法
今同じ内容を表示するコンボボックスを二つ作ろうと思っているのですがつくり方がわかりません。 どのようにすれば一つのプログラムで二つのコンボボックスを作れるのでしょうか 例: 表示では はい いいえ プログラム: Private Sub UserForm_Initialize() ComboBox1.AddItem "はい" ComboBox1.AddItem "いいえ" End Sub Private Sub UserForm_Initialize() ComboBox2.AddItem "はい" ComboBox2.AddItem "いいえ" End Sub ↑のような作り方ではなく簡略化して Private Sub UserForm_Initialize() ComboBox●.AddItem "はい" ComboBox●.AddItem "いいえ" End Sub ●部を変更できれば一つのプログラムでコンボボックスを2つ操作できると思うのですがどのようにすればよろしいでしょうか?
- ベストアンサー
- Visual Basic
- VBA コンボボックスの表示(日付)について
ComboBox1のIMEModeプロパティが0-fmIME MODE NOControlに設定されています。そして、下記コードを作成しました。 Private Sub ComboBox1_Change() ComboBox1 = Format(ComboBox1, "m月d日") End Sub このコンボボックスに例えば、8/30と入力すると「8月3日0」と表示されてしまいます。 これを8月30日と表示するにはどうすれば良いのでしょうか? よろしくお願いします。
- ベストアンサー
- Visual Basic
- ドロップダウン エディット コンボボックスの使い方
Excel for Mac 2011の開発にて 「ドロップダウン エディット コンボボックス」 を使用したいのですが、表示が灰色で選択できません。 「コンボボックス」 も試してみたのですが、入力方法がドラッグのみの対応だったので、 ドロップダウン形式のコンボボックスを使用したいと考えているのですが、 この機能を利用するにはどうすれば良いのでしょうか? 可能であればVBA上での関数名なども併せてご教示願えますと幸いです。 (通常のコンボボックスと同様に「ComboBox1」で良いのでしょうか?)
- 締切済み
- Excel(エクセル)
- EXCEL VBAのコンボボックスで日だけを表示する方法
EXCELのVBAを使って経費の打ち込みをするマクロを作っています その中で、コンボボックスで日付を選択するようにしました コンボボックスに表示する日付はセルから「RowSource」で取り出しました セルの日付の入力形式は「2008/10/1」です そのセルの書式設定で表示形式を「ユーザー定義で d (日だけ表示)」としています なので、コンボボックスで選択して表示する際も日だけを表示したいのですがうまくいきません ComboBox1 = Format(ComboBox1, "d") とすると、コンボボックス内で数字がちらちらしてランダムに数字が表示されてしまいます ComboBox1 = Format(ComboBox1, "m月d日") この形だと、きちんと「10月1日」の様に表示されます Private Sub UserForm_Initialize() With ComboBox1 .RowSource = "sheet1!A1:A5" '日付のセル End With End Sub Private Sub ComboBox1_Change() ComboBox1 = Format(ComboBox1, "m月d日") End Sub 日だけを表示する方法をご教授ください
- ベストアンサー
- オフィス系ソフト
- 同じコンボボックス、リストボックスを使うには?
よろしくお願いします。 今、ユーザーフォームを使って製造計画表を作っています。 コンボボックスで会社名、リストボックスで会社ごとの製品名を選択させるとこまで出来ました。 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も初めたばかりで質問の内容もわかりづらいとも思いますが、よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
丁寧な回答有難うございます。 使用者がパソコンと製品について余り知識が無い為、混乱と効率を上げるためにこのような仕様にしたのですが、中々上手くいかず困っていました。 入力箇所が結構な数になる為このようにしましたが、指摘された通り入力ミスに気が付き難いと言う不安もありますね。その辺はまた考えなければいけません。 回答の方ですが、上の方法は自分の環境では上手くいきませんでした。 Combobox1選択状態で止まってしまいます。 下の方法だと希望通りの動きが出来ました。 実際はもっとComboboxがあるのでクリックのみでどんどん選択して行きたかったのです。 初めて質問サイトを利用して不安でしたが、丁寧な回答とアドバイスを頂けてとてもうれしく思います。 どうも有難うございました。