エクセル2010基本講座:リストボックス(ActiveXコントロール)をシートに配置する


はじめに    topへ

リストボックスをシートに配置する    topへ

VBAのコードを使ってシートのデータを表示する    topへ

  1. 表示するデータはSheet3に入力してあります。
  2. Sheet1にリストボックスを配置しました。
    赤色で囲んだ部分がリストボックスです。
  3. Sheet3のデータをリストボックスに書き出します。
    コードは標準モジュールに書いています。

    Sheet3のデータを配列 myDataに読み込んで、Sheet1の ListBox1に Worksheets("Sheet1").ListBox1.List = myDataとして、書き出しています。
    リストボックスの位置やサイズを指定しているのは、リストボックスをクリアしたりコードを実行するたびに表示位置がずれたり、サイズが変わったりしたため、その対策としてコード内で位置やサイズを指定しました。
    リストボックス内は7つの列でそれぞれ列のサイズを指定しています。
    下記のコードの一部は、上の図とは異なります。
    Sub test()
     Dim myData As Variant
     'Worksheets("Sheet3").Activate
     'myData = Worksheets("Sheet3").Range(Cells(2, 1), Cells(11, 7)).Value 冗長な気がしたので↓に変更
     myData = Worksheets("Sheet3").Range("A2:H11").Value
     'Worksheets("Sheet1").Activate
     With Worksheets("Sheet1").ListBox1
        .Left = 480
        .Height = 300
        .Width = 500
        .ColumnCount = 7
        .ColumnWidths = "25;70;100;25;25;25;25"
        .List = myData
     End With
    End Sub
  4. コードを実行して、Sheet3のデータリストをリストボックスに表示しました。
  5. リストボックス内をクリアするコードは下表のようにしています。
    Sub test0()
      Worksheets("Sheet1").Activate
      With Worksheets("Sheet1").ListBox1
        .Clear
      End With

    End Sub

リストボックスで選択したデータをテキストボックスに表示する    topへ

テキストボックスの値にリストボックスで選択したデータを書き換える    topへ

テキストボックスの値にデータリストのデータを書き換える    topへ

リストボックスの値をシートに書き出す    topへ

スポンサードリンク


よねさんのExcelとWordの使い方エクセル2010基本講座:目次フォーム・ActiveX・マクロ(VBA)|リストボックス(ActiveXコントロール)をシートに配置する