|
おはようございます。細かいところで間違いあったので再送です。
******************************************************
いくつも方法はあると思いますよ!!
まず、抱えているブックは置いといて、新規ブックで確認してください。
新規ブック(Sheet1というシート名がある)にてユーザーフォーム(Userform1)
を作成してください。
このUserform1には、
コンボボックス Combobox1
ラベル Label1
の二つのコントロールを配置してください。
又、Sheet1というシートには、dvo さんが提示されたデータが入力されているとします。
A B
1 あ か
2
3 い き
4 う
5
6 え く
7 お
というデータが入力されているとします。
標準モジュールに
'=================================================
Option Explicit
Sub main()
UserForm1.Show
End Sub
Userform1のモジュールに
'=================================================
Option Explicit
Private evflg As Boolean 'Combobox1のChangeイベントの実行の有無
Private Sub ComboBox1_Change()
Dim sht As Worksheet
Set sht = Worksheets("sheet1")
If evflg = False Then Exit Sub
With ComboBox1
Label1.Caption = sht.Range("b" & .List(.ListIndex, 1)).Value
End With
End Sub
'=================================================
Private Sub UserForm_Initialize()
Dim sht As Worksheet
Dim idx As Long
Dim jdx As Long
Set sht = Worksheets("sheet1")
jdx = 0
evflg = False
With ComboBox1
.ColumnCount = 1
.BoundColumn = 1
.TextColumn = 1
.Style = fmStyleDropDownList
For idx = 1 To sht.Cells(sht.Rows.Count, 1).End(xlUp).Row
If sht.Range("a" & idx).Value <> "" Then
.AddItem sht.Range("a" & idx).Value
.List(jdx, 1) = idx
jdx = jdx + 1
End If
Next
.ListIndex = -1
End With
Label1.Caption = ""
evflg = True
End Sub
これでmainを実行してみてください。
コンボボックスの選択に対応したデータがラベルに表示されるはずです。
|
|