|
▼dgo さん:
こんばんは。
>ユーザーフォームにComboboxを作成し
>そのComboboxはSheet1のA1-A10を見に行き
>そこから選択できるようにしてあります
>Comboboxの中身を選ぶたびに
>Comboboxの背景の色を変更させることは可能でしょうか
>上から1番を選択したらComboboxの背景は青
>上から2番を選択したらComboboxの背景は赤
>上から3番を選択したらComboboxの背景は緑
>などといった感じにしたいです
サンプルコードです。
新規ブック(Sheet1というシート名が存在する)にユーザーフォーム(UserForm1)を
一つ作成してください。
このUserForm1には、コントロールは、コンボボックス(ComboBox1)を
一つだけ配置してください。
標準モジュールには
'=======================================================
Sub test()
With Worksheets("sheet1")
.Range("a1:a10").Value = Application.Transpose( _
Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"))
.Range("b1:b10").Value = Application.Transpose( _
Array(16711680, 255, 32768, 39423, 65535, 16751052, _
65280, 13434828, 16711935, 12632256))
End With
'サンプルデータを A1からA10に配置し、コンボボックス選択時の色を
'b1:b10に色を表すRGB値を配置します(a1 青 a2 赤 a3 緑・・・)
UserForm1.Show
End Sub
UserForm1のモジュールには
'===============================================================
Private Sub ComboBox1_Change()
With ComboBox1
If .ListIndex >= 0 Then .BackColor = .List(.ListIndex, 1)
End With
End Sub
'===============================================================
Private Sub UserForm_Initialize()
With ComboBox1
.ColumnCount = 1
.BoundColumn = 1
.List = Worksheets("sheet1").Range("a1:b10").Value
End With
End Sub
これでtestを実行してみてください。
コンボボックスでリストから選択してみてください。
選択した内容に対応した色で塗りつぶしてくれます。
試してみてください。
|
|