ページ

2014年7月6日日曜日

リストボックス-ActiveXコントロールの使用方法

Excel2013のActiveXコントロール リストボックスの使用方法です。

リストボックスに登録するデータのリストを事前に作成しておきます。ここではSheet2に作成しました。
データのリストを事前に作成
リボンの[開発]-[挿入]-[リストボックス]をクリックします。
[リストボックス]をクリック
シート上をドラッグし配置します。
シート上をドラッグし配置
Workbookが開くときに発生するOpenイベント内に下記のコードを入力します。

Private Sub Workbook_Open()
    Dim i As Integer
 
    i = 2
    Do Until Worksheets("Sheet2").Cells(i, 2).Value = ""
        Sheets("Sheet1").ListBox1.AddItem Worksheets("Sheet2").Cells(i, 2).Value
        i = i + 1
    Loop
End Sub

事前に作成したSheet2のデータを、上からループで順に リストボックスに追加しています。項目の追加はAddItemを使用しています。
項目の追加はAddItemを使用
マクロ有効ブックで保存し、再度開きます。するとSheet2のデータが表示され選択できるようになります。
マクロ有効ブックで保存し、再度開きます
リストボックスをクリックすると、指定したセルに表示させるコードを入力します。

Private Sub ListBox1_Click()

    With ListBox1
        If .ListIndex > -1 Then
            Range("F3") = .ListIndex + 1
            Range("F4") = .Value
        End If
   End With
 
End Sub

  • クリックした項目の行を取得するには、ListIndexを使用します。
  • クリックした項目の値を取得するには、Valueを使用します。
クリックした項目の行を取得するには、ListIndexを使用
リボンの[開発]-[デザインモード]をクリックし解除します。するとリストボックスが使用できるようになり、項目をクリックすると、選択行と値が指定したセルに表示されます。
[デザインモード]をクリックし解除