【Excel VBA】ユーザーフォームTIPS(リストボックスとセルの連動サンプル

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 With

End 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

コメント

タイトルとURLをコピーしました