VBAでのユーザーフォームサンプル
リストボックス(ListBox)とセルを連携させるサンプル
①初期化時に、所定のセルと、そのセルのアドレスを保持しておく
②リストボックスをクリックする毎に、保存したアドレスの位置を選択させる。
このソースには表現していないが、フォームはモーダレス設定にすると使いやすい。
Private Sub ListBox1_Click()
Dim ws As Worksheet
Dim r As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
Set r = ws.Range("A1")With ListBox1
If .ListCount < 1 Then Exit Sub
If .ListIndex < 0 Then Exit Sub
ws.Range(.List(.ListIndex, 1)).Select
End WithEnd Sub
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim r As Range
Dim i As Integer: i = 0
Set ws = ThisWorkbook.Sheets("Sheet1")
Set r = ws.Range("A1")Me.ListBox1.ColumnCount = 2
Set r = ws.Range("A1")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1
Set r = ws.Range("B1")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1
Set r = ws.Range("C2")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1
End Sub
コメント