[[20080827110124]] 『ComboBoxの表示について』(ミッチェル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ComboBoxの表示について』(ミッチェル)
 ComboBox内の表示は2行にならないのでしょうか?
 または改行できる方法は無いのでしょうか?
 教えてください。

http://www.accessclub.jp/bbs2/0047/beginter15248.html
 例えば、こういうことでしょうか?
 ComboBoxをメモとして使用してるということでしたら
 これでいいと思うのですが、何かのリストを
 読み込んでるとしたら、違うかなぁ・・・?           (yukichip)

 Excelでは、コンボボックスにMultilineというプロパティがないので
 小細工しないと改行は処理は無理だと思いますが・・・。

 小細工の例
 単にコンボボックスと記述するだけでなく、どこに配置するそれなのかはっきり記述してください。

 対象コンボボックスは、シートに配置するのか、ユーザーフォームなのか?
 シート配置の場合は、それがActiveXコントロール(コマンドバーコントロールツールボックスにあるか)か、
 Excelコントロール(コマンドバーフォームにあるコントロール)なのか?

 それによっては、方法も違う場合もありますから。

 記述する例は、ユーザーフォームの場合です。

 新規ブックにユーザーフォーム(Userform1)だけ作成してください。
 コントロールは、コードで配置しますから、何も作成しないで下さい。

 作成したUserform1のモジュールに

 '=================================================================================
 Option Explicit
 Private WithEvents cmb As MSForms.ComboBox
 Private txt As MSForms.TextBox
 '=================================================================================
 Private Sub cmb_Change()
    txt.Text = cmb.Text
 End Sub
 '=================================================================================
 Private Sub UserForm_Initialize()
    With Me
       .Width = 284
       .Height = 148
       End With
    Set cmb = Controls.Add("Forms.ComboBox.1", , True)
    With cmb
       .Left = 36
       .Top = 24
       .Width = 204
       .Height = 54
       .Style = fmStyleDropDownList
       .List() = Array("aaaaa" & vbCrLf & "bbbb", _
                       "ccccc" & vbCrLf & "ddddd", _
                       "eeeeeee" & vbCrLf & "ffffff")
       End With
   Set txt = Controls.Add("Forms.TextBox.1", , True)
   With txt
       .Left = 36
       .Top = 24
       .Width = 192
       .Height = 54
       .MultiLine = True
       .TabStop = False
       '.Locked = True コメント外せば、直接入力不可
       End With
 End Sub

 標準モジュールに

 '================================================================================
 Sub main()
    UserForm1.Show
 End Sub

 でmainを実行してください。

 Userform1が表示され、コンボボックスもどきが表示されます。
 リストから選択された文字列は、選択終了時は、改行されて表示されます。
 又、直接入力時は、Shift+Enterキーで改行可能です。

 つまり、コンボボックスとテキストボックスの重ね合わせです。

 試してみてください。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.