• ベストアンサー

VBAのコンボボックスでコメントみたいな表示はできないでしょうか?

VBAでユーザーフォームにコンボボックスを設置してます。このコンボボックスを開くと現在10項目位表示できるようにしているのですが、この表示内容の詳細をコメントみたいな感じで表示させることは可能なのでしょうか?たとえばコンボボックスで「スイッチ」と「ボタン」が選択できるとします。この状態では入力者はよく分からないため、たとえば「スイッチ」を選択する前に「スイッチ」の上にマウスのポインターを置くと「切り替えスイッチ」「ロータリースイッチ」等の詳細表示をエクセルのコメントとように表示させ、それを確認して入力者は選択をする。見たいな感じのことはできないのでしょうか?分かる人がいたら教えてください。よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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 なお、クリックは右クリックでもコードを換えれば可能になります。

takedono
質問者

お礼

ありがとうございます。勉強になりました。まだまだ勉強不足なのでがんばっていこうと思います。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

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 を使うとか、、、

takedono
質問者

お礼

ありがとうございます。とりあえず何とかしてみます。

関連するQ&A