プロが教えるわが家の防犯対策術!

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

A 回答 (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

なお、クリックは右クリックでもコードを換えれば可能になります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/05/15 21:09

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 を使うとか、、、
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/05/15 21:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A