- ベストアンサー
VBAのコンボボックスでコメントみたいな表示はできないでしょうか?
VBAでユーザーフォームにコンボボックスを設置してます。このコンボボックスを開くと現在10項目位表示できるようにしているのですが、この表示内容の詳細をコメントみたいな感じで表示させることは可能なのでしょうか?たとえばコンボボックスで「スイッチ」と「ボタン」が選択できるとします。この状態では入力者はよく分からないため、たとえば「スイッチ」を選択する前に「スイッチ」の上にマウスのポインターを置くと「切り替えスイッチ」「ロータリースイッチ」等の詳細表示をエクセルのコメントとように表示させ、それを確認して入力者は選択をする。見たいな感じのことはできないのでしょうか?分かる人がいたら教えてください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 内容項目のそれぞれに、ポップアップ(TipText)は、付けられないと思います。コメントのようにポップアップできるのは、それ自体が(ActiveX)コントロールでないとできません。 ですから、 サンプルですが、 ListBox を一つ設けて、クリックで、 'Option Explicit '説明をコンマ切りで順番に入れる Const MSG As String = "エー,ビー,シー,ディー,イー,エフ,ジー,エイチ,アイ,ジェー" Private Sub UserForm_Initialize() Dim i As Integer For i = 65 To 74 ListBox1.AddItem Chr(i) Next End Sub Private Sub ListBox1_Click() Dim Msges As Variant Msges = Split(MSG, ",") On Error Resume Next '設置者が配列数をミスした場合を想定 MsgBox Msges(ListBox1.ListIndex) End Sub なお、クリックは右クリックでもコードを換えれば可能になります。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
Excelですか? ComboBox の ControlTipText プロパティでヒント表示は可能です。 ただ、一覧表のように表示するイメージでは無いですね。 改行コードを入れても改行されなかったのでサンプルはカンマで区切ってみました。 この辺は Excelのバージョンによって違うかも知れません。(こちらは Excel2000) UserForm に ComboBox をひとつ置き、下記コードでテスト Private Sub UserForm_Initialize() Dim s As String For i = 65 To 74 Me.ComboBox1.AddItem Chr(i) & Chr(i) s = s & Chr(i) & Chr(i) & "," Next i Me.ComboBox1.ControlTipText = s End Sub でも、10項目程度で選択肢を最初から見せたいならいっそ ListBox を使うとか、、、
お礼
ありがとうございます。とりあえず何とかしてみます。
お礼
ありがとうございます。勉強になりました。まだまだ勉強不足なのでがんばっていこうと思います。